请选择 进入手机版 | 继续访问电脑版
12304 12

[问答] 中介变量为二分类变量的中介效应检验 [推广有奖]

  • 0关注
  • 0粉丝

硕士生

74%

还不是VIP/贵宾

-

威望
0
论坛币
166 个
通用积分
5.7001
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
946 点
帖子
49
精华
0
在线时间
272 小时
注册时间
2013-1-10
最后登录
2024-3-27

20论坛币
请问,自变量X为连续型变量,中介变量M和因变量y都是二分类变量,该如何用bootstrap的方式检验中介效应呢?如果不能用bootstrap,那有没有比较好的检验方法?

capm1994 学生认证  发表于 2019-4-16 09:01:54 来自手机 |显示全部楼层 |坛友微信交流群
普罗旺斯青大 发表于 2017-11-20 03:50
请问,自变量X为连续型变量,中介变量M和因变量y都是二分类变量,该如何用bootstrap的方式检验中介效应呢? ...
你好,请问您问题解决了嘛?同遇到一样的问题,求帮助哦。

使用道具

黃河泉 在职认证  发表于 2019-4-16 10:50:11 |显示全部楼层 |坛友微信交流群
capm1994 发表于 2019-4-16 09:01
你好,请问您问题解决了嘛?同遇到一样的问题,求帮助哦。
请参考 https://www.stata-journal.com/article.html?article=st0243

使用道具

温忠麟老师有一篇《类别变量的中介效应分析》有讲类似怎么进行中介效应检验

使用道具

suzhongsu5 发表于 2021-4-19 17:11:21 |显示全部楼层 |坛友微信交流群
黃河泉 发表于 2019-4-16 10:50
请参考 https://www.stata-journal.com/article.html?article=st0243。
老师好,因变量和中介变量都是虚拟变量,可以用这个命令吗

使用道具

参照R中的mediation包(我用的是Package mediation version 4.5.0)的说明,是可以进行分析的,当因变量和中介变量都是二分类的时候,一定要把中介变量设置为0和1,仅使设置为因子变量也不行,说明文档为中原始文字为:“For binary response models, the 'mediator' must be a numeric variable with values 0 or 1 as opposed to a factor.”,不然就会一直报错“error in if (xhat==0) out <-1 else { missing value where TRUE/FALSE....”;同时在建立前期的两个方程的时候需要都使用glm;其它的设置就按照常规的来就好~

使用道具

我附上我自己做的R中的code,以及如何读取结果中的效应量和P值,若有错误请大家指正:

#mediation: R Package for Causal Mediation Analysis#

library(mediation)
library(sandwich)
tab<-function(x1x){
  print(class(x1x))
  print(table(x1x))
  print(paste0("缺失值:",sum(is.na(x1x))))
}
#示例1#
data(jobs)
a=jobs
a=data.frame(a)

tab(a$control)#中介变量:2分类
tab(a$nonwhite)#自变量:2分类
tab(a$work1)#结局变量:2分类
#

a$nonwhite_1=as.numeric(a$nonwhite)-1
tab(a$nonwhite_1)

med.fit <- glm(control ~ nonwhite, data = a,family = binomial("probit"))
out.fit <- glm(work1 ~ control +nonwhite, data = a,family = binomial("probit"))
med23.out1 <- mediate(med.fit1, out.fit1, treat = "nonwhite", mediator = "control1",control.value = "white0",treat.value = "non.white1")
summary(med23.out1)
plot(med23.out1)

#读取结果中ACME_average的效应量和P值#
med23.out1[["d.avg"]]#ACME_aver_value
med23.out1[["d.avg.ci"]]#ACME_aver_ci
med23.out1[["d.avg.p"]]#ACME_aver_p

#读取结果中ADE_average的效应量和P值#
med23.out1[["z.avg"]]#ACME_aver_value
med23.out1[["z.avg.ci"]]#ACME_aver_ci
med23.out1[["z.avg.p"]]#ACME_aver_p

使用道具

18834182620 发表于 2022-7-19 12:42:51 |显示全部楼层 |坛友微信交流群
风中有朵雨做的云 发表于 2021-5-11 22:07
参照R中的mediation包(我用的是Package mediation version 4.5.0)的说明,是可以进行分析的,当因变量和中 ...
已经把中介设置成0和1了,还是报那样的错误,是怎么回事呀,我的自变量是三分类的







使用道具

18834182620 发表于 2022-7-19 12:42
已经把中介设置成0和1了,还是报那样的错误,是怎么回事呀,我的自变量是三分类的
遇到同样的问题,请问您解决了吗?

使用道具

风中有朵雨做的云 发表于 2021-5-11 22:18
我附上我自己做的R中的code,以及如何读取结果中的效应量和P值,若有错误请大家指正:

#mediation: R P ...
您好,我这样操作还是会报同样的错误

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-3-29 01:09