将中介包与 lme4 模型一起使用时出错:中介模型尚未实现
Error using mediation package with lme4 model: mediator model is not yet implemented
我有一个data.frame
,df
:
> 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_female
和 final_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
包 in a vignette 作为 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
。
根据 this mailing list question(和回答),我检查过:
inherits(mediatorModel, "merMod")
返回 TRUE
和
getCall(mediatorModel)[[1]]
返回 lme4::lmer
而不是 lme4::lmer
,您可以尝试使用 library(lme4)
加载 lme4
,然后只需调用 lmer
。查看 mediate
代码表明错误处理检查正在寻找 lmer
的精确匹配,即 getCall(model.m)[[1]] == "lmer"
.
我有一个data.frame
,df
:
> 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_female
和 final_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
包 in a vignette 作为 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
。
根据 this mailing list question(和回答),我检查过:
inherits(mediatorModel, "merMod")
返回TRUE
和getCall(mediatorModel)[[1]]
返回lme4::lmer
而不是 lme4::lmer
,您可以尝试使用 library(lme4)
加载 lme4
,然后只需调用 lmer
。查看 mediate
代码表明错误处理检查正在寻找 lmer
的精确匹配,即 getCall(model.m)[[1]] == "lmer"
.