我拥有来自参与者(part
)的受试者内生理数据,他们都在三轮(round
)中查看刺激物(阅读报纸),每个轮次有五份报纸(paper
),每个报纸中都有不同数量的访问(visit
)。我有两个固定因素(CONDhier
和CONDSbund
)加上交互作用来预测生理状态(例如EDA
),通常是自回归的。我尝试使用随机效应(现在先只考虑截距)来考虑生理学上的个体差异,也许会出现疲劳等其他随机效应。
因此,在R中运行的模型将是:
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结构和部分*周期的第二个随机截距,而我也不确定它是否与我的SPSS语法相同。
那么,有什么建议吗?虽然关于lme和lmer有很多不同的写作,但我找不到既具有交叉项又具有AR1的写作。
(另外,lme的语法似乎相当晦涩:从几个不同的来源,我已经理解了 | 将左边的内容分组到右边的内容下面,/ 表示嵌套术语,~1 是随机截距,~x 是随机斜率,而 ~1+x 则是两者,但似乎至少还有 : 和 -1 的定义,我在任何地方都找不到。有没有教程可以解释所有不同的定义?)
lme4
缺少“R-side”(自相关)结构(而且可能会持续一段时间,我们很忙)。我不确定(一个可重现的示例会很好),但你可能需要类似于random = pdBlocked(list(pdCompSymm(~part-1), pdCompSymm(~round-1), pdCompSymm(~paper:round), pdCompSymm(~visit:paper:round)))
这样的东西……而且我不太明白你所说的“阻止AR结构”的意思。你可能想要使用correlation=corAR1()
(尽管你可能在说它不起作用)。AD模型生成器/JAGS/BUGS/Stan(自行构建)是我知道的唯一开源工具,用于此目的。 - Ben BolkerpdCompSymm(~paper:round)
和pdCompSymm(~visit:paper:round)
,而不是反过来 -round:paper
和round:paper:visit
吗?我的意思是,所有的访问都发生在论文内,所有的论文都发生在轮次内,在查看您链接中的规格说明时,我觉得分组变量(| 右侧)在左侧,该变量内较小的内容在其右侧。(或者我理解错了什么?英语不是我的母语。) - RandomMonitor