使用“mediate”包时出现 R 问题:`[.data.frame`(y.data, , treat) 中出现错误:选择了未定义的列

问题描述 投票:0回答:1

全部。我在 R 中使用 mediate 包并遇到以下问题。我的三个变量是:

X = condition (-1 or 1)
M = arousal (1..5)
Y = answer (0 or 1)

我的代码是:

med.fit <- lm(arousal ~ condition, data=data)
out.fit <- glm(answer ~ arousal, family = binomial, data=data) # binary outcome

med.out <- mediate(med.fit, out.fit, treat = "condition", mediator = "arousal")

我收到以下错误:

Error in `[.data.frame`(y.data, , treat) : undefined columns selected

我的猜测是,发生这种情况是因为 med.fit 中的系数从 condition 变为 condition1,因为预测变量是分类的。我成功地使用以下方法重命名了系数:

names(med.fit$coefficients) <- sub("condition1", "condition", names(med.fit$coefficients))

...但我遇到了同样的错误。

我是 R 新手,想知道是否有人可以解决这个问题。谢谢!

r rename analysis
1个回答
0
投票

已解决:第二个模型只是缺少作为协变量的治疗(条件)。

out.fit <- glm(answer ~ arousal + condition, data=data)
© www.soinside.com 2019 - 2024. All rights reserved.