dxy logo
首页丁香园病例库全部版块
搜索
登录

二元logistic模型中分类自变量的相加交互作用:基于R

发布于 2020-05-09 · 浏览 5398 · IP 江苏江苏
这个帖子发布于 4 年零 358 天前,其中的信息可能已发生改变或有所发展。

前些日子,有师妹问我logistic模型中分类自变量的相加交互作用怎么检验,经过一番学习和探索,学到了很多。

logistic模型中的交互作用可分为相加和相乘两类,相乘交互作用可通过建立相乘项(如i.A#i.B、A*B等)并纳入模型予以探究,但相加作用的探究便没有这么便利了,需要计算相对超危险度比(RERI)、归因比(AP)和交互作用指数(S)。若RERI和AP的置信区间跨0,S的置信区间跨1,那表示无相加交互作用。本贴主要展示如何通过R语言探究二元logistic模型中分类自变量的相加交互作用(原理和公式就不多说了……主要是我也说不清楚,大家还是看资料吧),文末附上几篇文献,希望能对大家有所帮助。

先说一下用到的程序包“epiR”,该程序包的“epi.interaction”可以实现相加交互作用的检验。下面介绍一下数据情况,Disease是二分类因变量(某慢性病的状态:有和无),Smoking和History为二分类自变量(假设为是否吸烟、是否有家族史)。多的不说,直接上代码。有问题的地方,还望各位站友多多指教。

## 加载程序包

library(epiR)

library(openxlsx)

##载入数据

dat<-read.xlsx("data.xlsx",sheet =1)


##建立交互项

dat$inter <- ifelse(

dat$Smoking == '0' & dat$History =='0', 'S0H0',

ifelse(dat$Smoking == '0'&dat $ History == '1', 'S0H1',                      

ifelse(dat$Smoking == '1' & dat$History == '0', 'S1H0', 'S1H1')))


##建立二元logistic模型

fit <- glm(Disease ~ inter, family = binomial, data = dat)

#如果有其他协变量也可以一起纳入模型

#fit <- glm(Disease ~ inter +X1+X2, family = binomial, data = dat)

summary(fit)

img



## 计算RERI、AP、S三个指标

epi.interaction(model = fit, coef = c(2,3,4), type = "RERI", param = "dummy", conf.level = 0.95)

epi.interaction(model = fit, coef = c(2,3,4), type = "APAB", param="dummy", conf.level = 0.95)

epi.interaction(model = fit, coef = c(2,3,4), type = "S", param = "dummy", conf.level = 0.95)

img



文献

1. 聂志强,欧艳秋,庄建,曲艳吉,麦劲壮,陈寄梅,刘小清.实现logistic与Cox回归相乘相加交互作用的临床实践宏程序[J].中华流行病学杂志,2016,37(5):737-740.

2. 邱宏,余德新,谢立亚,王晓蓉,付振明.Logistic回归模型中连续变量交互作用的分析[J].中华流行病学杂志,2010,31(7):812-814.

3. 许敏锐, 强德仁, 周义红,等. 应用R软件进行logistic回归模型的交互作用分析[J]. 中国卫生统计, 2017, 034(004):670-672,675.

4. 袁悦,李楠,任爱国, 等.流行病学研究中相加和相乘尺度交互作用的分析[J].现代预防医学,2015,42(6):961-965,975.

5. 麦子. 1+1大于2是怎么回事?来个相加交互模型看看 [EB/OL]. https://www.sohu.com/a/155275085_170798, 2017-07-07/2020-05-09.

最后编辑于 2020-05-11 · 浏览 5398

16 67 16

全部讨论0

默认最新
avatar
16
分享帖子
share-weibo分享到微博
share-weibo分享到微信
认证
返回顶部