You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用R语言mediate包时遇“未定义列选中”错误的求助

解决mediate包的"undefined columns selected"错误

错误核心原因

你犯了中介分析的基础错误:结果模型(out.fit)必须同时包含处理变量(condition)和中介变量(arousal),但你当前的out.fit只纳入了arousal,没有加入condition,这才导致程序找不到指定的treat列。

另外你的猜测有误:condition是取值-1/1的数值型变量,不是分类因子,所以lm()输出的系数名本来就是condition,不需要手动重命名。

修正后的代码

# 中介模型:M ~ X
med.fit <- lm(arousal ~ condition, data=data)
# 结果模型:Y ~ X + M(必须同时包含处理变量和中介变量)
out.fit <- glm(answer ~ condition + arousal, family = binomial, data=data)
# 运行中介分析
med.out <- mediate(med.fit, out.fit, treat = "condition", mediator = "arousal")

验证步骤(可选)

运行前可以先确认两个模型的变量是否正确:

# 查看中介模型的变量
names(med.fit$model)
# 查看结果模型的变量
names(out.fit$model)

两个模型里都应该包含condition,结果模型还需要包含arousal。

内容的提问来源于stack exchange,提问作者held.together.by.magic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 21:59:50