使用psych包执行5000次Bootstrap中介分析报错求助
解决psych包mediate函数报错:argument "model.y" is missing
报错原因
你调用的psych包mediate函数语法不符合要求。该函数需要明确区分预测变量(x)、中介变量(m)和因变量(y),而你使用的公式写法更适配mediation包的同名函数。之前代码能运行大概率是因为环境中同时加载了mediation包,现在仅加载psych包就触发了参数缺失错误。
修正后的代码
方式1:直接指定x/m/y变量
require(psych) set.seed(12345) # 构建中介模型:Gender(预测)→ Sexual_Disgust(中介)→ PolOri_Social(因变量) mediationmodel1 <- mediate(x = Tyburdata$Gender, m = Tyburdata$Sexual_Disgust, y = Tyburdata$PolOri_Social, std = TRUE, data = Tyburdata, n.iter = 5000, # 设置5000次Bootstrap抽样 plot = FALSE)
方式2:用公式+指定x/m变量名
require(psych) set.seed(12345) mediationmodel1 <- mediate(PolOri_Social ~ Gender + Sexual_Disgust, x = "Gender", # 明确标记预测变量 m = "Sexual_Disgust", # 明确标记中介变量 std = TRUE, data = Tyburdata, n.iter = 5000, plot = FALSE)
验证说明
运行修正后的代码即可完成中介模型构建,Bootstrap抽样次数已按需求设为5000,std=TRUE会对变量做标准化处理。
内容的提问来源于stack exchange,提问作者Megan Owen
相关产品推荐
相关产品推荐

