【发布时间】:2013-12-06 02:36:04
【问题描述】:
我有来自参与者 (part) 的受试者内生理数据,他们都在三轮 (round) 中查看了刺激(阅读报纸),每轮都有五篇论文 (paper),并且在每个报纸的访问次数都是可变的(visit)。我有两个固定因素(CONDhier 和 CONDabund)加上相互作用来预测生理状态(例如,EDA),这通常是自回归的。我尝试通过随机效应来考虑生理上的个体差异(让我们暂时只满足于截距),并且可能会因另一种随机效应而在回合中感到疲劳。
因此,我想在 R 中运行的模型将在 SPSS 中:
MIXED EDA BY CONDhier CONDabund
/FIXED=CONDhier CONDabund CONDhier*CONDabund | SSTYPE(3)
/RANDOM=INTERCEPT | SUBJECT(part) COVTYPE(VC)
/RANDOM=INTERCEPT | SUBJECT(part*round) COVTYPE(VC)
/PRINT=SOLUTION
/METHOD=REML
/REPEATED=visit | SUBJECT(part*round*paper) COVTYPE(AR1).
现在,我了解到虽然 lme 不能很好地处理交叉项,但 lmer(可以毫无问题地处理交叉项)不能使用不同的协方差结构。我可以运行简单的 lme 模型,例如
lme(EDA ~ factor(CONDhier) * factor(CONDabund), random= ~1
|part, na.action=na.exclude, data=phys2)
但更复杂的模型超出了我的范围。我已经读过 lme 中的交叉术语可以用像
这样的随机定义来完成 random=pdBlocked(list(pdCompSymm(~part), pdCompSymm(~round-1), pdCompSymm(~paper-1),
pdCompSymm(~visit-1)))
但这似乎阻止了我的 AR1 结构和 part*round 的第二个随机截距。而且我不太确定它是否与我的 SPSS 语法相同。
那么,有什么建议吗?尽管有很多关于 lme 和 lmer 的不同著作,但我找不到一个同时具有交叉术语和 AR1 的著作。
(此外,lme 上的语法似乎很晦涩:从几个不同的来源我了解到 | 将左侧的内容分组到右侧的内容下,/ 构成嵌套项,~1 是随机截距,~x是随机斜率,~1+x 两者都是,但似乎至少有 : 和 -1 定义我在任何地方都找不到。有没有教程可以解释所有不同的定义?)
【问题讨论】:
-
不完整,但有关 R 混合模型语法的更多信息,请参阅 glmm.wikidot.com/faq#modelspec
-
谢谢! (+filler 作为 cmets 的长度必须至少为 15 个字符...)
-
你说得对,
lme4缺少“R 端”(自相关)结构(并且可能会持续一段时间,我们被淹没了)。我不确定(一个可重复的例子会很好),但你可能想要像random=pdBlocked(list(pdCompSymm(~part-1), pdCompSymm(~round-1), pdCompSymm(~paper:round), pdCompSymm(~visit:paper:round)))这样的东西......我不太明白你所说的“阻止AR结构”是什么意思.您可能想要correlation=corAR1()(尽管您说这不起作用可能是对的)。 AD Model Builder/JAGS/BUGS/Stan (build-your-own) 是我所知道的唯一的开源工具 -
你确定你的意思是
pdCompSymm(~paper:round)和pdCompSymm(~visit:paper:round),而不是反过来——round:paper 和round:paper:visit?我的意思是,所有访问都发生在论文中,并且所有论文都发生在轮次内,并且查看链接中的规范在我看来,分组变量(在 | 的右侧)在左侧,而变量中较小的东西在它的右边。 (或者我读错了什么?英语不是我的第一语言。) -
(愚蠢的字符限制)我是否正确:表示仅计算最右边变量的截距或斜率,而 / 表示同时计算组变量和其中的变量?此外,通过“阻止 AR 结构”,我的意思是使用 pdCompSymm 将定义使用复合对称性,除此之外我不能使用 AR1。还是单独的相关规范会覆盖复合对称结构?
标签: r lme4 mixed-models nlme