使用与lme4模型的中介包时出错:中介模型尚未实现 - 之前的答案对我不起作用

时间:2017-06-17 12:39:40

标签: r lme4

嗨,我是R和这个论坛的新手。 我和a previous poster有同样的问题,但我的答案没有得到解决。当我尝试使用包lme4和中介运行多级中介模型时,我收到消息:“中介模型尚未实现”。

我的数据:

data.frame':    25383 obs. of  115 variables:
$ PID                        : num  1 1 1 1 1 1 1 1 1 1 ...
$ T0_AGE                     : num  66.6 79.7 85.6 87 79.9 67.4 80 72 80.1 
68$ T0_ASEXE                 : Factor w/ 2 levels "Male","Female": 1 1...
$ T0_ALIVING_R               : num  0 0 0 0 1 0 0 0 1 0 ...
$ T0_educationcat            : Factor w/ 3 levels "high","middle",..
$ FI_morbidity_corrected     : num  0.0625 0 0.125 0.0625 0.0625 0.125 ……
$ FI_SRH                     : num  0.5 0.375 0.75 0.625 0.375…."

我想看看FI_morbidity_corrected如何调解T0_educationcatFI_SRH之间的关系。我正在为PID(项目ID)指定随机截距,因为数据聚集在不同的研究/项目中。我正在控制混淆因素T0_ASEXE + T0_AGE + T0_ALIVING_R

med.fit <- lmer(FI_morbidity_corrected~T0_educationcat + T0_ASEXE + T0_AGE + 
T0_ALIVING_R + (1|PID),data=topicsmds)
out.fit <- lmer(FI_SRH~FI_morbidity_corrected + T0_educationcat + T0_ASEXE + 
T0_AGE + T0_ALIVING_R + (1|PID),data=topicsmds)

这有效,但随后:

med23.out <- mediate(med.fit, out.fit, treat = "T0_educationcat", mediator = 
"FI_morbidity_corrected", control.value = "high", treat.value = "middle", 
sims = 100)
summary(med23.out)

med24.out <- mediate(med.fit, out.fit, treat = "T0_educationcat", mediator = 
"FI_morbidity_corrected", control.value = "high", treat.value = "low", sims 
= 100)
summary(med24.out)

给我错误:

  

中介模型尚未实施

我按照建议使用library(lme4)加载了lme4 pakage,但仍然出现此错误。

inherits(mediatorModel, "merMod")返回TRUE

getCall(mediatorModel)[[1]]返回lme4 :: lmer

谢谢!

1 个答案:

答案 0 :(得分:1)

您是否正在加载包lmerTest?如果是这样,class(med.fit[[1]])会返回merModLmerTest而不是lmerMod - 但是调解包需要后者。卸载lmerTest可以解决问题。