我花了很多时间研究R中的包mediation
。这些例子运行良好。但是,当我尝试使用自己的数据时发生错误。错误如下:
中介错误(med.fit,out.fit,treat =“BMI”,meditor =“bwb”, sims = 100,:介体之间的观察数量不匹配 和结果模型
我的代码如下:
library( "mediation" )
med.fit <- lm(bwb~BMI+yearb+preage+BMI+a5+a23+a24+a25,data=test5)
out.fit <- lm(bmib~BMI+bwb+yearb+preage+BMI+a5+a23+a24+a25,data=test5)
med.out <- mediate(med.fit,out.fit,treat="BMI",meditor="bwb",sims=100)
答案 0 :(得分:0)
如果不查看您的数据,很难说出问题的确切原因是什么。但是,我遇到了与中介包相同的问题,我的解决方案是在运行回归模型之前将na.omit函数应用于数据。或者,如果您的变量是因子,您可能想尝试使用relevel()函数来重新调整变量的引用类别。这两个解决了我的调解包问题,希望他们也帮助你!
答案 1 :(得分:0)
变量“ bmib”中可能还有更多的缺失值。试试这个,
test_df <- select(test5, bmib, BMI, bwb, yearb, preage, BMI, a5, a23, a24, a25)
test_df <- na.omit(test_df)
然后
med.fit <- lm(bwb ~ BMI + yearb + preage + BMI + a5 + a23 + a24 + a25, data = test_df)
out.fit <- lm(bmib ~ BMI + beb + yearb + preage + BMI + a5 + a23 + a24 + a25, data = test_df)
med.out <- mediate(med.fit, out.fit, treat = "BMI", meditor = "bwb", sims = 100)