我正在使用 lme4
包运行LME模型,然后使用 lsmeans
包跟进成对比较 .
这是我的代码:
lmer_full <- lmer (VOT ~ Place*Laryngeal + (1+Place+Laryngeal|Sp),
data = LME,control=lmerControl(optCtrl=list(maxfun=50000)))
lsmeans (lmer_full, pairwise~Laryngeal|Place)
但是,运行 lmer
后,我收到以下错误消息:
固定效应模型矩阵排名不足所以丢弃1列/系数警告消息:1:在checkConv(attr(opt,“derivs”),opt $ par,ctrl = control $ checkConv,:无法评估缩放梯度2:在checkConv(attr(opt,“derivs”)中,opt $ par,ctrl = control $ checkConv,:模型未能收敛:使用1个负特征值退化Hessian
然后运行 lsmeans
后出现另一个错误:
base :: chol2inv(x,...)中的错误:'a'必须是数字矩阵
这是我的数据结构:
如果有人能告诉我这个型号有什么问题,我真的很感激 .
1 回答
tl;dr 我可以't exactly reproduce your error, but I can come pretty close. Your data set is most likely too small/noisy for the model you want to fit (you'获得一个奇异的模型);使用
emmeans
包(它是lsmeans
的后继版)会有所帮助,但你应该简化你的模型 .lmer
忽略数据集的其他一些问题(没有足够的样本来表示随机效应的数量)指定):