尝试 运行 两个几乎相同的 pgls 模型时一个模型的错误消息
Error message for one model when trying to run two almost identical pgls models
我正在尝试使用包 caper
中的 pgls()
函数创建一个模型,以查看喂养方式对形状的影响。以下模型有效:
latdata <- comparative.data(lattree, lat, Species, vcv=TRUE, vcv.dim=3)
latpigot <- pgls(PC1 + PC2 + PC3 + PC4 + PC5 + PC6 + PC7 ~ Feeding, latdata, lambda = 'ML')
其中 lattree
是我的系统发育树,lat
是我的数据集,Species
,PC 和 Feeding
是我的数据集中列的名称。 PC 是具有正值和负值的数值变量。 Species
和 Feeding
是分类变量。
但是当我用新的数据集和新的树尝试相同的代码时它不起作用并且我得到一个错误:
vendata <- comparative.data(ventree, ven, Species, vcv=TRUE, vcv.dim=3)
venpigot <- pgls(PC1 + PC2 + PC3 + PC4 + PC5 + PC6 + PC7 ~ Feeding, vendata, lambda = 'ML')
Error in pgls(PC1 + PC2 + PC3 + PC4 + PC5 + PC6 + PC7 ~ Feeding, vendata, :
Problem with optim:52ERROR: ABNORMAL_TERMINATION_IN_LNSRCH
ven
有 65 个条目,而不是 lat
中的 66 个条目。除了 lattree
中的一个分类单元不在 ventree
.
中,树是相同的
据我了解,pgls()
函数在其代码中的某处具有 optim()
函数,这就是导致问题的原因,但我不明白 optim()
函数如何适用以及为什么它可能会导致问题。
有没有人知道可能出了什么问题?
非常感谢,
卡罗莱纳州
编辑:
如果我将 lambda
设置为 1,这似乎有效。但是,我不知道这是否正确或如何决定适当的 lambda
值。有人可以帮忙吗?
我找到了这个网页:
http://blog.phytools.org/2012/11/fitting-model-in-phylogenetic.html
并使用 ape
和 nlme
包使用此代码编写 PGLS 模型:
venpigot <- gls(PC1 + PC2 + PC3 + PC4 + PC5 + PC6 + PC7 ~ Pigot, ven, correlation = corPagel(1, ventree, fixed = FALSE), method = "ML")
这似乎有效。
我正在尝试使用包 caper
中的 pgls()
函数创建一个模型,以查看喂养方式对形状的影响。以下模型有效:
latdata <- comparative.data(lattree, lat, Species, vcv=TRUE, vcv.dim=3)
latpigot <- pgls(PC1 + PC2 + PC3 + PC4 + PC5 + PC6 + PC7 ~ Feeding, latdata, lambda = 'ML')
其中 lattree
是我的系统发育树,lat
是我的数据集,Species
,PC 和 Feeding
是我的数据集中列的名称。 PC 是具有正值和负值的数值变量。 Species
和 Feeding
是分类变量。
但是当我用新的数据集和新的树尝试相同的代码时它不起作用并且我得到一个错误:
vendata <- comparative.data(ventree, ven, Species, vcv=TRUE, vcv.dim=3)
venpigot <- pgls(PC1 + PC2 + PC3 + PC4 + PC5 + PC6 + PC7 ~ Feeding, vendata, lambda = 'ML')
Error in pgls(PC1 + PC2 + PC3 + PC4 + PC5 + PC6 + PC7 ~ Feeding, vendata, :
Problem with optim:52ERROR: ABNORMAL_TERMINATION_IN_LNSRCH
ven
有 65 个条目,而不是 lat
中的 66 个条目。除了 lattree
中的一个分类单元不在 ventree
.
据我了解,pgls()
函数在其代码中的某处具有 optim()
函数,这就是导致问题的原因,但我不明白 optim()
函数如何适用以及为什么它可能会导致问题。
有没有人知道可能出了什么问题?
非常感谢,
卡罗莱纳州
编辑:
如果我将 lambda
设置为 1,这似乎有效。但是,我不知道这是否正确或如何决定适当的 lambda
值。有人可以帮忙吗?
我找到了这个网页:
http://blog.phytools.org/2012/11/fitting-model-in-phylogenetic.html
并使用 ape
和 nlme
包使用此代码编写 PGLS 模型:
venpigot <- gls(PC1 + PC2 + PC3 + PC4 + PC5 + PC6 + PC7 ~ Pigot, ven, correlation = corPagel(1, ventree, fixed = FALSE), method = "ML")
这似乎有效。