我用mediation来做中介效应分析
med.fit=lm(GAP~DIF+JOB+GOV+STRU+NGDP+URB,data=df)
out.fit=glm(CON~GAP+DIF+JOB+GOV+STRU+NGDP+URB,data=df,family=binomial("probit"))
med.out=mediate(med.fit,out.fit,treat="DIF",mediator="GAP",robustSE=TRUE,sims=100)
summary(med.out)
被解释变量CON是个连续型变量
运行时候说y值必需满足0<=y<=1
请问这种情况下要怎么改
还试过用lavaan,但是那个不知道怎么把控制变量加上去
归一化被解释变量
# 归一化被解释变量
df$CON_normalized <- (df$CON - min(df$CON)) / (max(df$CON) - min(df$CON))
# 进行中介效应分析
med.fit <- lm(GAP ~ DIF + JOB + GOV + STRU + NGDP + URB, data = df)
out.fit <- glm(CON_normalized ~ GAP + DIF + JOB + GOV + STRU + NGDP + URB, data = df, family = binomial("probit"))
med.out <- mediate(med.fit, out.fit, treat = "DIF", mediator = "GAP", robustSE = TRUE, sims = 100)
summary(med.out)
将被解释变量转换为概率形式
# 将被解释变量转换为概率形式
df$CON_prob <- plogis(df$CON)
# 进行中介效应分析
med.fit <- lm(GAP ~ DIF + JOB + GOV + STRU + NGDP + URB, data = df)
out.fit <- glm(CON_prob ~ GAP + DIF + JOB + GOV + STRU + NGDP + URB, data = df, family = binomial("probit"))
med.out <- mediate(med.fit, out.fit, treat = "DIF", mediator = "GAP", robustSE = TRUE, sims = 100)
summary(med.out)