lmer给出错误:`对类“dgTMatrix”的对象@ {Dim'的类“数字”对象的赋值无效

时间:2018-01-26 09:43:13

标签: r lme4 mixed-models

在使用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)

1 个答案:

答案 0 :(得分:1)

原来错误的来源只是一个错字,这是由于先前摆弄模型造成的。

要包含“简单”随机变量(直接影响因变量而不是其他固定效果之一),必须编写(1 | U),其中U是数据集中的列随机变量的实现。 (0 | U)就像意外写在问题中一样。

所以问题的示例代码必须是:

fm1 <- lmer(Reaction ~ Days + (1 | Subject), data = sleepstudy)