我对混合模型分析很陌生。有人能帮我把事情弄清楚吗?
我有后续的重复测量设计:前测-干预-后测。
瓦莱布:Go_rt -反应时间。pre_post -分类变量(前测;后测) expectation -参与者期望。
我有复配R码,我想应用混合模型来评估反应时间是否有统计学差异(前测与后测)。另外,我想知道是否有与参与者期望有效的调解。
国防部<- lmer(Go_rt ~ pre_post +期望值+ pre_post:expectations +(1连参与者),data=data,REML=FALSE)
我怀疑的是,是否必须在随机部分中指定pre_post变量。代码将如下所示:
mod1 <- lmer(Go_rt ~ pre_post +期望值+ pre_post:expectations + (1+ pre_post|participant),data=data,REML=FALSE)
如果我这样改变它会有什么变化?
mod2 <- lmer(Go_rt ~ pre_post +期望值+ pre_post:expectations +(1区参与者)+ (1|pre_post),data=data,REML=FALSE)
实际上,mod2给出了关于互激子效应的重要结果,而mod & mod1却没有。
发布于 2020-05-26 06:18:49
如果我正确地理解了你的问题,你不会想要随机拦截你的治疗(前/后)。这不是你想要解释的一些噪音,而是你的实验问题,所以mod2
退出了。此外,你真的不应该有一个随机的影响,只有两个层次(https://dynamicecology.wordpress.com/2015/11/04/is-it-a-fixed-or-random-effect/)。
预测试应该是该因素的参考水平,以便您可以轻松地解释您的治疗对反应时间的影响。您可以通过将以下代码修改为数据来更改这一点:
data$pre_post = relevel(data$pre_post, ref="pre")
对于反应时间,在许多学科中,建模日志反应时间也是惯例,这可以很容易地通过把它放在模型公式中来完成,我在下面已经做过了。如果你的领域不是这样的话,你可以随意忽略这一点。
expectations
也可能对参与者产生不同的影响,因此您也可以通过参与者为expectations
添加一个随机斜率。首先,我将测试第一个随机斜率,pre_post
,是否导致一个明显更好的模型拟合。我会用下面的代码来做这件事。请注意,REML已更改为true,因为您现在正在比较随机效果。
mod1 <- lmer(log(Go_rt) ~ pre_post + expectations + pre_post:expectations + (1|participant), data=data, REML=TRUE)
mod1.1 <- lmer(log(Go_rt) ~ pre_post + expectations + (1 + pre_post|participant), data=data, REML=TRUE)
anova(mod1, mod1.1)
如果它确实导致了一个更好的模型,我会把它留在里面。然后,我将测试expectations
的随机斜率是否改进了模型。
mod1.2 <- lmer(log(Go_rt) ~ pre_post + expectations + (1 + pre_post + expectations|participant), data=data, REML=TRUE)
anova(mod1.1, mod1.2)
在我找到了最好的随机效应结构后,我会从相互作用开始,观察固定效应,然后再使用anova()
函数,看看它在似然比检验中是否显着。
我希望这能帮到你。还有其他方法可以查看随机效应,以及是否需要使用包含在rePCA()
中的lme4
函数。如果您正在拟合混合模型:https://arxiv.org/pdf/1506.04967.pdf,那么查看本文可能是个好主意。
发布于 2020-05-30 01:45:30
不太清楚您在问什么,您似乎不确定您应该做什么建模,这是一个统计问题,在交叉验证的情况下可能更合适,但您似乎也不确定R(或者更确切地说是包lme4
)语法。
查看这个https://arxiv.org/pdf/1406.5823.pdf使用lme4
的全面指南,特别是第6页将有助于理解随机效果语法。从该文件中:
每个随机效应项都是形式( expr _~_
当您的RE术语指定如下:(1|participant) + (1|pre_post)
,这意味着RE是交叉的(参见下面的PeerJ文件),而pre_post + (1+ pre_post|participant)
是一个相关的截距和斜率(参见上面链接中的第6页)。
我同意@sjp的观点,你不想对只有两个层次的东西使用随机效应。本文是对混合模型的精彩介绍,它建议您至少应该有5个级别:https://peerj.com/articles/4794/。
对于日志转换数据(可能适用于试用时间数据)的@sjp建议,另一种方法是使用带有glmer()
参数的family=gamma
函数,但无论是哪种方法,都可以检查残差图,以确定模型是否适合http://www.sthda.com/english/articles/39-regression-model-diagnostics/161-linear-regression-assumptions-and-diagnostics-in-r-essentials/。
在不需要随机效应项的情况下,基R函数lm
和glm
将分别代替lmer
和glmer
。
https://stackoverflow.com/questions/62004944
复制相似问题