【交互作⽤】02.加法交互乘法交互(R包interactionR)
【交互作⽤】02.加法交互&乘法交互[R包interactionR]
⽣物学交互作⽤的评价应该基于是否有相加交互作⽤,⽽流⾏病学研究中常运⽤logistic和Cox等⼴义线性模型,并纳⼊乘积项分析因素间
交互作⽤,其是否有意义仅反映相乘交互作⽤,并不能反映两因素间相加或⽣物学交互作⽤的有⽆。上篇介绍了交互作⽤的基本概念、三
个相加交互作⽤评价指标(RERI、AP和S)和epiRR包的应⽤等。本篇内容主要介绍实现交互作⽤的另⼀个好⽤的R包interactionR。
1.原理和⽅法回顾
以两因素两⽔平为例。假设两暴露因素分别为A、B,1表⽰因素存在,0表⽰因素不存在,因变量为疾病发⽣与否。
OR表⽰A、B都不存在时发病的OR值,分析时作为参照组;OR表⽰仅A存在、B不存在时发病的OR值;OR表⽰A不存
在、仅B存在时发病的OR值;OR表⽰A、B共同存在时发病的OR值。
评价相加交互作⽤的三个指标:
①相对超危险度⽐:RERI=OR-OR-OR+1;
②归因⽐:AP=RERI/OR;
③交互作⽤指数:SI=(OR-1)/[(OR-1)+(OR-1)]。
判定准则:如果两因素⽆相加交互作⽤,则RERI和AP的可信区间应包含0,SI的可信区间应包含1。
交互作⽤指标的点估计:
可通过以下两种⽅法,建⽴logistic回归模型计算OR、OR和OR,代⼊交互作⽤指标的计算公式。
(1)⽤两因素A、B及乘积项A×B构建logistic回归模型1:
ln[p/(1-p)]=β0+β1A+β2B+β3(A×B);
OR=exp(β1),
OR=exp(β2),
OR=exp(β1+β2+β3)。
(2)根据两因素A、B,建⽴新的交互作⽤哑变量A_B,构建logistic回归模型2:
A0B0表⽰A=0且B=0,分析时作为参照组;A0B1表⽰A=0且B=1,A0B1表⽰A=0且B=1,A1B1表⽰A=1且B=1。
ln[p/(1-p)]=β0+β1A1B0+β2A0B1+β3A1B1;
OR=exp(β1),
OR=exp(β2),
OR=exp(β3);
模型1和2中的β1、β2相同,⽽模型2中的β3等于模型1中的β1+β2+β3。
注意:⼀般以⾼风险的⼀类作为暴露组,尤其是在保护因素时,应当将⽆暴露设置为1,有暴露设置为0,以避免解释上混乱。当暴露变量
为多分类或连续变量时,置信区间(CI)估计的delta⽅法以及Andersson编制的Excel法均不适⽤。⽽Bootstrap⽅法可以估计所有解释变
量类型的交互情况的CI。
ctionRR包介绍
interactionR可直接导出出版级别的Word,结果包括联合效应、暴露效应和交互效应,乘法交互,加法交互,以及分层分析。
R包内置3种置信区间的估计⽅法:
deltamethod(HosmerandLemeshow(1992),[doi:10.1097/00001648-199209000-00012]),
variancerecoverymethod(Zou(2008),[doi:10.1093/aje/kwn104]),
percentilebootstrapping(Assmannetal.(1996),[doi:10.1097/00001648-199605000-00012]).
R包的安装:
devtools::install_github("epi-zen/interactionR")
library(interactionR)
参数介绍:
A0B0A1B0A0B1
A1B1
A1B1A0B1A1B0
A1B1
A1B1A0B1A1B0
A1B1A0B1A1B0
A1B0
A0B1
A1B1
A1B0
A0B1
A1B1
model:包含交互项的回归模型。可以是logisticglm(formula,family=binomial(link="logit"),data)、条件logisticclogit()或cox
coxph()回归模型。模型可以包含适当的协变量。
exposure_names:模型中可能存在交互作⽤的两个⼆分类变量(乘积项)。
:加法交互作⽤的置信区间估计⽅法(“delta”或“mover”),默认为delta⽅法。
:置信区间⽔平。
em:TRUE,,forinteraction.
recode:IfTRUE,recodestheexposures-ifatleastoneoftheexposuresisprotective-suchthatthestratumwiththe
lowestriskbecomesthenewreferencecategorywhenthetwoexposuresareconsideredjointly(SeeKnoletal(2011)
[doi:10.1007/s10654-011-9554-9]).
⽰例数据代码实现:
已报道的饮酒和吸烟对⼝腔癌的联合作⽤数据。包括两个⼆分类暴露因素,即饮酒(alc)和吸烟(smk),结局为⼆分类变量,即⼝腔癌
(oc)。
data(OCdata)
##fittheinteractionmodel
<-glm(oc~alc*smk,family=binomial(link="logit"),data=OCdata)
summary()
##1)analysis----
table_object=interactionR(,exposure_names=c("alc","smk"),="mover",=0.95,em=F,recode=F)
table_object$dframe
#
#1OR001.0000000NANA
#2OR012.96296300.680045912.9096430
#3OR103.33333330.700606615.8592734
#4OR119.03614462.641338930.9130753
#5OR(smkonoutcome[alc==0]2.96296300.680045912.9096430
#6OR(smkonoutcome[alc==1]2.71084340.99697507.3709689
#7OR(alconoutcome[smk==0]3.33333330.700606615.8592734
#8OR(alconoutcome[smk==1]3.04969881.29487657.1826638
#9Multiplicativescale0.91490960.15436115.4227369
#10RERI3.7398483-11.429724821.8721579
#11AP0.4138765-0.37750730.8113231
#12SI1.87048190.64604335.4155854
#乘法:
#饮酒作⽤:OR10/OR00=3.33
#吸烟作⽤:OR01/OR00=2.96
#烟酒联合作⽤:OR11/OR00=9.04
#相乘作⽤:OR11/(OR01*OR10)=0.9149096(Multiplicativescale)=exp(-0.08893)(alc:smk)=exp(2.2012)/exp(1.0862)/exp(1.2040)
#Pinteraction=0.92197(即alc:smk的P值)
#加法:
#饮酒作⽤:OR10-OR00=3.33-1=2.33
#吸烟作⽤:OR01-OR00=2.96-1=1.96
#烟酒联合作⽤:OR11-OR00=8.0361446
#相加作⽤:OR11-OR01-OR10+1=9.04-3.33-2.96+1=3.7398483(RERI)
##2)outputword----
interactionR_table(table_object)#将分层分析与乘法和加法交互作⽤的结果输出到Word。
##CIestimatingmethods:
CI1<-interactionR_mover(,exposure_names=c("alc","smk"),=0.95,em=F,recode=F);CI1$dframe
CI2<-interactionR_delta(,exposure_names=c("alc","smk"),=0.95,em=F,recode=F);CI2$dframe
CI3<-interactionR_boot(,=0.95,em=F,recode=F,ed=12345,s=1000);CI3$dframe
#interactionR_boot()#esthatthetwobinaryexposurevariablesarelistedfirstinthecallformula.
输出到Word中的表格如下:
本文发布于:2022-12-27 22:02:46,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/90/42893.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |