问题描述
我有一个纵向数据集,每个科目都有以下变量:
IV:3个因素(factorA
,factorB
,factorC
,factorD
)在干预开始和结束时分别进行两次测量。
DV:一个结果变量(行为),在干预开始和结束时也进行两次测量。
我想创建一个模型,该模型使用因子A,因子B,因子C,因子D的变化(从干预开始到结束的变化)来预测行为的变化(从头到尾)。
我想使用factorA
,factorB
,factorC
,factorD
(从干预前到干预后)的增量值,并使用这些增量值来预测增量值D1
。我还想得出每个因子(A
,B
,C
和D
的绝对值(例如,仅使用干预每个因素),以确保我考虑了这些IV的绝对值(而不是变化)在DV上的变化。
这是我的数据集: enter image description here
到目前为止,这是我的模特:
Model <- lmer(Delta_behavior ~ Absolute_factorA + Absolute_factorB +
Absolute_factorC + Absolute_factorD + Delta_factorA +
Delta_factorB + Delta_factorC + Delta_factorD +
(1|Subject),a)
我认为我做错了,因为出现此错误:
错误:每个分组因子的级别数必须为
我在做什么错?数据集结构怪异吗?我不应该使用增量值吗?我应该使用其他测试(而不是lmer
)吗?
解决方法
由于您已将数据缩减为每个主题的单个观测值,因此无需使用多级/混合模型。 lmer
给您带来错误的原因是,在这种情况下,对象之间的方差与剩余方差相混淆。
您可能可以继续进行分析,并使用线性模型(lm
)。
更多技术细节
第i
个观测值的分布方程类似于[fixed-effect predictors] + eps(subject(i)) + eps(i)
,其中eps(subject(i))
是与第i
个观测值相关的对象的正常误差项, eps(i)
是与第i
个观测值相关的正常残留误差。如果我们每个主题只有一个观测值,则每个观测值都有两个唯一的误差项。两个均值为零且方差为V1和V2的两个正态变量的总和也为均值为零且方差为V1 + V2 ...的正态值,因此V1和V2是共同不可识别的。如果您确实愿意,可以使用lmerControl
覆盖该错误。 lmer
将返回V1
的任意组合,V2
估计总和为总方差。
有一个类似的示例,here。