【发布时间】:2013-12-11 17:15:04
【问题描述】:
我有一个我认为非常简单的问题。在一组参与者的纵向实验中,每个人在 7 个不同的时间给其他人打分,比如说,10 个变量(例如“这个人很讨人喜欢。”,“这个人很无聊。”等等)。 如果我想为一个变量/响应获得某种感知器和目标方差,我会使用:
lmer(scale(Var1) ~ (1|target) + (1|perceiver), data= subset(x, time_point == 1))
这里我们有一个数据帧“x”的因变量“Var1”,其中指定了第一个时间点(也是x的变量)。
到目前为止一切顺利,效果很好。
现在正如我所说,我有多个响应和多个时间点。因此,我想使用 a)“for”循环或 b)lapply 来一次获取所有模型。
无论哪种方式,我都必须以某种方式“索引”因变量,无论是指定列位置(x[,10],其中 10 是 Var1 的假定位置)还是变量本身(x$Var1)或(位于至少有点奇怪)将变量的名称粘贴或打印到公式中 (col.names(c[10])。
我想说的是,这两个都不起作用。我总是收到关于不同可变长度的错误。但是,正如我所写,我使用的是完全相同的列!
你们中有人有运行多个 lmer 的经验吗?
欢迎和赞赏所有想法!我希望我不是太不清楚,如果您需要任何进一步的信息,我很乐意提供,尽我所能。
干杯, 铝
【问题讨论】:
-
请发布一个可重现的示例。变量是否命名为
Var1到Var7?time_point的范围是否从1到7? -
1) 单个混合模型可以轻松处理重复测量 - 我不确定构建单独的模型在统计上是否有意义。 2) 向我们展示
head(x)的输出将有助于我们回答您的问题;更好的是dput(head(x)),以便人们可以重建您的data.frame的一部分以检查他们的代码。 -
为什么只估计一个固定效应(截距)?
-
嘿 Sven,感谢您的评论,数据集本身很大,而且我真的(编码方面)无法生成一个。时间点的范围是从 1 到 7,是的,变量可以是第 1 到第 10 列中的“Var1”到“Var10”(它们有其他特定于内容的名称,但这并不重要)。规范在 lmer 公式中是问题。
-
所以你的时间点比响应变量少。您是否想要这两个因素的所有组合,即 70 个模型?请指定您要查找的型号。
标签: r lme4 mixed-models