基于R语言实现中介效应检验以及sobel检验代码

数据格式

随机数据,不一定好
y是因变量,x是自变量,m是中介变量

在这里插入图片描述

基本原理

M ~ X
Y ~ X
Y ~ X + M

直接上代码

library(mediation)
library(bda)

# 加载readxl包
library(readxl)  # 读取Excel表格


# 读取数据  我是从剪切板读取的
data = readClipboard(sep = '\t')

# 读取Excel文件的数据
excel_data <- readxl::read_excel("C:\\Users\\12810\\Desktop\\中介效应代码\\test.xlsx")

# 查看读取的数据
print(excel_data)

## sobel 检验
mediation.test(excel_data$m, excel_data$x, excel_data$y)



### 三步检验法

model1 <- lm(m~x, data = excel_data)
model2 <- lm(y~x, data = excel_data)
model3 <- lm(y~m+x, data = excel_data)
med.out <- mediation::mediate(model2, model3, treat ="x", mediator="m",
                              boot=TRUE, sims=500)
summary(med.out)

猜你喜欢

转载自blog.csdn.net/weixin_43213884/article/details/133894599