在使用lme4::lmer
拟合混合效果模型时,我遇到以下错误:
错误(函数(cl,name,valueClass):赋值 类“数字”的对象对于对象中的@'Dim'无效 class“dgTMatrix”; is(value,“integer”)不为TRUE
我执行了Google搜索,但未找到包含此完整错误消息的结果。我终于通过将代码恢复到其工作状态来解决问题。我已在下面提供了解决方案的答案。
从错误消息中可以看出原因很难推断,但错误很容易发生,我将此处的错误原因记录为未来参考。
以下代码中发生错误:
library(lme4)
data(sleepstudy)
fm1 <- lmer(Reaction ~ Days + (0 | Subject), data = sleepstudy)
答案 0 :(得分:1)
原来错误的来源只是一个错字,这是由于先前摆弄模型造成的。
要包含“简单”随机变量(直接影响因变量而不是其他固定效果之一),必须编写(1 | U)
,其中U
是数据集中的列随机变量的实现。 不 (0 | U)
就像意外写在问题中一样。
所以问题的示例代码必须是:
fm1 <- lmer(Reaction ~ Days + (1 | Subject), data = sleepstudy)