r - 错误消息 : Error in fn(x, ...):已更新的 VtV 不是正定的

标签 r lme4

我正在尝试使用 lmer 函数创建一个最小适当模型。我的模型已配对 ~ 尺寸 * 尝试 * 状态 +(随机因素)。

as.logical(Mated)
as.numeric(Size)
as.factor(Attempts)
as.factor(Status)

(这些都适用于以前的型号)

毕竟我尝试运行我的模型:

Model1<-lmer(Mated ~ Size*Status*Attempts + (1|FemaleID),data=mydata)

并且可以毫无错误地提交。只有当我尝试应用此更新时才会出错:

Model2<-update(Model1, REML=FALSE)

这是提供的错误消息:

Error in fn(x, ...) : Downdated VtV is not positive definite

如果我在没有交互的情况下制作第三个模型,并在该模型与模型一之间进行方差分析,那么它表明这两个模型有显着不同。

Model3<-update(Model1,~.-Size:Status:Attempts
anova(Model1,Model3)

我做错了什么?三向交互真的很重要还是我犯了一些错误?

谢谢

最佳答案

如果 Mated 是二进制的,那么您可能应该使用 glmer 和 logit 或 probit 链接函数,例如:

model <- glmer(Mated ~ Size * Status * Attempts + (1|FemaleID), 
data = mydata, family = binomial)

如果您能让我们知道您的数据是什么样的,将会有所帮助(head(mydata) 可能没问题,或者参阅 here 了解如何制作可重现的示例)。

此外,我会避免使 Mated 合乎逻辑(请参阅 this question and answer 了解它如何使您的生活变得更加困难)。相反,as.factor(Mated) 将明确使您的响应变量离散。

之后,您可以使用 anova() 比较完整模型和简化模型。

关于r - 错误消息 : Error in fn(x, ...):已更新的 VtV 不是正定的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27990948/

相关文章:

r - 计算数据框中所有列对之间的点积

r - 我陷入了 R 数据编程中的 FOR 和 IF 函数任务

r - 图例与基数 r 中的图重叠

r - r.squaredGLMM() 错误

r - 如何在nlmer中为四参数逻辑模型添加固定效应

r - lsmeans 和 difflsmeans 不返回 lmer 对象的输出

截距和斜率的随机效应作为结果模型

mysql - 将IP地址(IPv4)itno转换为R中的整数

r - 如何将列表的元素合并到数据框中?在 R

r - 如何使用 gtsummary::tbl_regression() 报告随机效应的方差估计