提问人:Henry Brice 提问时间:11/14/2023 最后编辑:ppperyHenry Brice 更新时间:11/20/2023 访问量:19
使用 tobit 回归的中介分析无法找到结果变量
Mediation analysis with a tobit regression is failing to find the outcome variable
问:
我正在尝试使用 R 中的包运行中介分析。我的结果变量需要用 tobit 模型(删失数据)进行建模。mediation
当我尝试运行它时,它声称找不到结果变量,尽管它位于数据帧中。 请参阅可重现示例:
library(mediation)
test <- data.frame(mediator = c(0.333,0.201,0.343,0.133,0.240),
DV = c(0.152,2.318,0.899,0.327,1.117),
outcome=c(1.715,1.716,0.544,3.284,3.599))
mediator_model <- lm(mediator ~ DV, data = test)
outcome_model <- vglm(outcome ~ mediator + DV,
tobit(Upper = 4, Lower = -4), link = "identity",data = test)
med <- mediate(mediator_model, outcome_model, treat = "DV", mediator = "mediator")
当我运行这个时,我收到错误,
即使结果模型运行没有问题。Error in eval(predvars, data, env) : object 'outcome' not found
答:
2赞
刘紫川
12/2/2023
#1
我想问题出在:mediation::mediate
中介/结果的拟合模型对象。可以是类 'lm'、'polr'、'bayespolr'、'glm'、'bayesglm'、'gam'、'rq'、'survreg' 或 'merMod'。
尝试为您的outcome_model,而不是 .希望能奏效。AER::tobit
vglm
mediate
评论
0赞
Henry Brice
12/12/2023
这确实奏效了,谢谢。如果其他人遇到这种情况,我确实需要稍微改变一下语法,这就是适用于我上面的模型的方法(请注意,需要以列表形式接收数据):AER::tobit
AER::tobit(outcome ~ mediator + DV, left = -4, right = 4, data = as.list(test))
评论