我正在尝试使用
lme()
函数构建线性混合效应模型 (lmm)。为了提供一些背景信息,该研究项目将运动员的反应时间变化视为他们在反应任务中被要求记住的数字数量(0、3、5、7、9、11 数字)的函数,每个这是为我的数据框中的每个观察编码的。
目前我的代码是这样的:
ref_0_rxn <- lme(fixed = rxn ~ dig3+dig5+dig7+dig9+dig11+trial+c.hx,
random = list(pt=~1),
data = all_data_lmm,
na.action = na.exclude,
control = lmeControl(opt = "optim",
maxIter = 200,
msMaxIter = 200,
niterEM = 50,
msMaxEval = 400))
dig3-11 是条件虚拟编码的变量(即他们是否必须记住 0、3 等数字),rxn 是以秒为单位的反应时间,c.hx 是一个二进制变量,定义参与者是否有之前的脑震荡,随机变量是参与者 ID(编码为一个因素)。 当我运行这个模型时,我收到错误消息:
MEEM(object, conLin, control$niterEM) 中的错误:第 0 级反向求解中的奇异性,块 1
我做错了什么?是否需要使用
lmer()
包中的 lme4
功能?我不明白 R 文档文件。
我尝试更改二进制变量,如脑震荡历史和虚拟编码条件(位数)。我读过的一篇博文说奇点错误是“数值稳定性”问题的结果。
我还能够运行“空”拦截模型:
null_rxn <- lme(fixed = rxn ~ 1,
random = list(pt=~1),
data= all_data_lmm,
na.action = na.exclude,
control = lmeControl(opt = "optim",
maxIter = 200,
msMaxIter = 200,
niterEM = 50,
msMaxEval = 400))
唯一不同的是添加了一些东西来回归 rxn against。那么变量一定有问题。