ape-phylo - 在猿中运行 PGLS 时出错:“未指定协变量”
问题描述
我刚刚重新访问了一个旧的 r 脚本来仔细检查我的分析。当我尝试运行 PGLS 时出现这个新错误:
未指定协变量,物种将按数据框中的顺序排列。为避免出现此消息,请使用“form”参数指定包含物种名称的协变量。
我想知道这是否与新的更新有关?我认为我的脚本没有任何问题,因为当我尝试复制以前的教程时也遇到了这个错误。但以防万一我错了,我在下面粘贴了我的脚本:
gls(Diet_PC1~Habitat_PC1,correlation = corBrownian(phy = PrimateTree.phy), data=traits, method="ML")
有没有人有任何解决方案?
谢谢!医学博士
解决方案
不久前,我在浏览教程时遇到了类似的问题。据我了解,这与 6 月份推出的“ape”更新有关。cor[MODEL] 函数现在需要一个指定分类群协变量的公式。根据参考手册:
形式为 ~ t 或 ~ t | 的单边公式 g,指定分类群协变量 t 和可选的分组因子 g。此相关结构的协变量必须是字符值,其条目与系统发育树中的尖端标签匹配。当表格中存在分组因子时,假设相关结构仅适用于同一分组级别内的观察;假设具有不同分组级别的观察是不相关的。默认为 ~ 1,这对应于使用数据中观察的顺序作为协变量,并且没有组。
手册中的代码示例:
gls(Y ~ X, dat, correlation=corBrownian(1, tree.primates, form = ~Species))
当时,我无法弄清楚如何在我正在使用的教程中使用“form”参数并获得预期的结果。所以,我安装了之前发布的“ape”版本,一切都运行得很好(获得了本教程的预期结果)。我确信这是一个非常有用的参数,但我当时找不到任何关于如何正确使用它的好资源。
推荐阅读
- reactjs - React.Lazy() 出错,“您可能需要适当的加载程序来处理此文件类型。”
- python - wxPython:在frame1上选择一行时,在frame2上选择了同一行
- oracle - 这些错误是什么意思,你建议我如何修复它们?
- list - 我怎样才能在 Prolog 上接受输入并用它列出一个列表?
- templates - JSRender:从转换器或自定义标签呈现另一个模板
- jquery - 从DOM中删除元素时,Angularjs删除事件侦听器
- javascript - 如何确保在不重新抛出错误或使用 Promise.reject 的情况下捕获异步函数的错误?
- c++ - 更改变量的值时,使用 int x = 100 有什么区别;与 x = x + 100 相比;
- javascript - 如何制作滚动到顶部的 HTML 后退按钮?
- xcode - Xcode 10 View Controller 场景定位问题