将中介包与lme4模型一起使用时出错:中介模型尚未实现

时间:2016-12-21 00:13:27

标签: r lme4

我有data.framedf

> str(df_ss)
'data.frame':   571 obs. of  4 variables:
 $ final_grade  : num  0.733 0.187 0.502 0.194 0.293 ...
 $ time_spent   : num  -0.2 -0.326 -0.709 -0.168 -0.254 ...
 $ gender_female: num  1 0 1 0 0 0 1 1 1 1 ...
 $ course_ID    : Factor w/ 26 levels "1","2","3","4",..: 14 18 13 21 24 15 3 24 9 13 ...

我想了解time_spent如何审核gender_femalefinal_grade之间的关系。我为course_ID指定了随机效果。

我指定的模型如下:

med.fit <- lme4::lmer(time_spent ~ gender_female + (1|course_ID), data = df)
out.fit <- lme4::lmer(final_grade ~ time_spent + gender_female + (1|course_ID), data = df_ss)

那些似乎工作得很好。

使用lme4包[{1}}为mediation包添加示例后,我指定了此中介模型:

library(mediation)
med.out <- mediate(med.fit, out.fit, treat = "gender_female", mediator = "time_spent", dropobs = T)

这导致了此错误输出:Error in mediate(med.fit, out.fit, treat = "gender_female", mediator = "time_spent",: mediator model is not yet implemented

in a vignette(并回答),我检查了一下:

  1. inherits(mediatorModel, "merMod")返回TRUE
  2. getCall(mediatorModel)[[1]]返回lme4::lmer

1 个答案:

答案 0 :(得分:2)

您可以尝试使用lme4::lmer加载lme4而不是library(lme4),而只需拨打lmer。查看mediate代码显示错误处理检查正在寻找lmer的完全匹配,即getCall(model.m)[[1]] == "lmer"