将观察结果放入循环中无法进行中介

时间:2019-02-08 06:05:36

标签: r loops for-loop regression

我已经围绕中介程序包中的中介函数编写了一个INSERT INTO Table_1 (column_1, column_2, column_3) SELECT column_1, column_2, column_3 FROM Table_2 WHERE (Condition) 循环,以使用具有处理变量“ treat”的中介程序i测试所有结果变量j。如果我手动选择结果和介体,则该函数将起作用,并使用for删除不匹配的观察值,但是在for循环中它无法执行操作,所以会出现错误:

dropobs = T

循环:

Error in mediate(model.M, model.Y, treat = e$treat, mediator = e[, i],  :  number of observations do not match between mediator and outcome models

我尝试添加for (i in mediator) { for (j in outcome) { model.Y <- lm(e[ ,j] ~ e$treat + e[, i], data=e) model.M <- lm(e[, i] ~ e$treat, data=e) results <- mediate(model.M, model.Y, treat= "treat", mediator= i, boot=F, sims=1000, dropobs = T, control.value = "No", treat.value = "Yes") } } data=e,因为这似乎有助于手写功能。

我会喜欢一些方便的技巧来尝试使其正常工作吗?

编辑:可复制的示例

e$

0 个答案:

没有答案