【发布时间】:2016-10-05 22:35:27
【问题描述】:
我正在 R 中安装以下 lmer 模型:
lmer(rt~deadline*cond+age+(1+deadline|task/pp), REML=FALSE) ##Model 1
lmer(rt~deadline+cond+age+(1+deadline|task/pp), REML=FALSE) ##Model 2
其中rt 是反应时间,deadline 有 2 个短或长级别,cond 也有两个级别:简单或困难。在我进行的研究中,30 名受试者完成了 4 项任务。每个任务受试者在四个级别(短/易、长/易、短/硬、长/硬)中的每一个中进行 50 次试验。在我上面的模型中,我对人和任务有随机截距,在截止日期前对人和任务有随机斜率。
因此,他们总共进行了 800 次试验。记录准确性和反应时间。如果复杂性(=cond)和紧迫性(=deadline)对反应时间有(交互)影响,我很感兴趣。由于可能存在交互作用,我将第一个模型与交互作用进行了拟合,并将其与没有交互作用的第二个模型进行了比较。
当我运行第一个模型时,我得到以下输出:
所以我有一个问题,因为
lm.rtfnew <- lmer(rt~deadline*cond+age+(1+deadline|task/pp), REML=FALSE)
fixed-effect model matrix is rank deficient so dropping 1 column / coefficient
summary(lm.rtfnew)
Linear mixed model fit by maximum likelihood ['lmerMod']
Formula: rt ~ deadline * cond + age + (1 + deadline | task/pp)
...
Estimate Std. Error t value
(Intercept) 5.874631 0.669971 8.77
deadlineshort -0.375643 0.171779 -2.19
condhard -4.685013 0.066538 -70.41
condeasy -4.658016 0.066538 -70.01
age 0.006791 0.018018 0.38
deadlineshort:condhard 0.007752 0.018960 0.41
...
fit warnings:
fixed-effect model matrix is rank deficient so dropping 1 column / coefficient
deadline 和cond 都制作了两列,然后这两列显示完美的多重共线性?然后 R 通过为deadline 删除一列来修复它,但不为cond 删除一列(因为condhard 和condeasy 存在固定效果)。
因此我有两个问题:
- 为什么 R 不删除
cond的列? - 我需要手动修复它吗?
【问题讨论】:
-
搜索“治疗对比”。一级
deadline和一级cond由截距表示。 -
那么实际上没有问题吗?还是我必须手动创建对比?
-
请发布一个可重现的示例(代码+数据)。没有它就很难诊断问题。
-
从您的评论中很难看出,但显然有三个级别,即一个级别似乎是
""。这些应该是NA值。 -
它们应该是
NA值,但看起来不像。显然,它们是一个空字符串的因子级别。要么在数据导入期间修复此问题,要么执行cond[cond == ""] <- NA。 (顺便说一句,你的数据应该放在一个 data.frame 中,你应该使用lmer中的data参数。)