當吸煙遇上飲酒,當空氣污染疊加遺傳易感性,當熬夜撞上高壓力,這些危險因素的組合會產生怎樣的破壞力?是簡單的“1+1=2”,還是更具殺傷力的“1+1>2”?
上一篇文章我們通過研究實例講解了相加交互分析(),本文將詳細介紹如何使用“InteractionR”包進行相加交互效應分析。
1
InteractionR介紹
InteractionR 是一個用于分析交互作用(特別是相加交互作用)的 R 包,廣泛應用于流行病學、生物統計學和醫學研究。它主要用于計算和評估兩個或多個暴露因素對結局變量的聯合效應,并提供多種統計指標來量化交互作用。
1. InteractionR包可實現的分析
該程序包嚴格遵循Knol和Vanderweele提出的報告標準,自動生成包含以下內容的分析表格:
各因素單獨作用的 OR 值
聯合作用的 OR 值
相乘交互效應:通過回歸系數 alc:smk 的顯著性判斷
相加交互效應指標:相對超額風險(RERI)、歸因比例(AP)、協同指數(SI)
2. InteractionR包中三種置信區間計算方法
包中實現了三種計算相加交互作用指標置信區間的方法:
Delta法:傳統方法,計算簡單但性能較差。
MOVER法(方差恢復法):利用OR/RR置信區間的不對稱性,小樣本表現優異。
百分位Bootstrap法:大樣本時性能最佳,但小樣本可能出現稀疏單元格問題核心指標。
3. InteractionR包用于相加交互效應分析的優勢
主函數`interactionR()`接受常規回歸模型對象,自動提取所需信息
支持logistic回歸、條件logistic回歸和Cox模型
提供表格生成函數,一鍵輸出發表級表格
內置數據示例和詳細文檔,降低學習成本
2
實戰演練
案例1:酒精與吸煙對口腔癌的交互作用
使用包中內置的OCdata數據,包含酒精(“alc”)和吸煙(“smk”)這兩個暴露變量,以及結果口腔癌(“oc”)這兩個二分變量(0 或 1,分別表示不存在或存在)。分析步驟如下:
####相加交互效應模型分析_Zhiping Niu #######
# 首次使用時,安裝interactionR程序包
# 注意:如果已安裝,可跳過此步驟以避免重復安裝
# install.packages() 是R中用于從CRAN安裝包的基礎函數
install.packages("interactionR")
# 載入interactionR包
# library() 函數用于加載已安裝的包,使其功能可用
# 如果安裝成功但加載失敗,可能是包依賴未滿足(如檢查是否安裝了devtools、ggplot2等)
library(interactionR)
# 擬合含交互項的logistic回歸模型
# glm() 是廣義線性模型函數,此處用于擬合二分類結局的Logistic回歸
# 參數說明:
# - formula: oc ~ alc*smk
# - oc: 二分類結局變量(如疾病發生與否)
# - alc*smk: 表示包含alc、smk的主效應及其交互項(等價于 alc + smk + alc:smk)
# - family: binomial(link='logit')
# - 指定分布為二項分布,鏈接函數為logit(即Logistic回歸)
# - data: OCdata
# - 指定數據集,需確保變量名與數據框中一致
m <- glm(oc ~ alc*smk, family = binomial(link='logit'), data = OCdata)
# 使用MOVER法進行交互作用分析
# interactionR() 是包的核心函數,用于計算相加交互作用指標
# 參數說明:
# - model: m
# - 上一步擬合的回歸模型對象
# - exposure_names: c("alc", "smk")
# - 指定兩個暴露變量的名稱(順序會影響結果解釋)
# - ci.type: "mover"
# - 置信區間計算方法,可選"delta"(默認)、"mover"或"bootstrap"
# - MOVER法(Method of Variance Estimates Recovery)對小樣本更穩健
# - ci.level: 0.95
# - 置信區間水平(默認0.95)
# - em: FALSE
# - 是否評估效應修飾(Effect Modification),FALSE表示分析交互作用
# - recode: FALSE
# - 是否自動重新編碼保護性因素(FALSE保持原始編碼)
table_object <- interactionR(m,
exposure_names = c("alc", "smk"),
ci.type = "mover",
ci.level = 0.95,
em = FALSE,
recode = FALSE)
# 生成發表級表格
# interactionR_table() 將結果輸出為Word格式的表格(默認保存到工作目錄)
# 輸出內容:
# - 暴露單獨/聯合的OR值及置信區間
# - 相加交互作用指標(RERI、AP、SI)及置信區間
# - 交互作用的統計學顯著性
# 注意:
# - 表格會自動保存為"interactionR_table.docx"
# - 可通過參數調整格式(如filename修改路徑,title修改標題)
interactionR_table(table_object)
結果表格清晰展示了:
飲酒(alc)的單獨效應:OR=3.33(95% CI: 0.7, 15.86),表明飲酒可能增加口腔癌風險,但OR置信區間包含1,表明不具有統計學顯著性。
吸煙(smk)的單獨效應:OR=2.96(95% CI: 0.68, 12.91),吸煙可能增加口腔癌風險,但OR置信區間包含1,表明不具有統計學顯著性。
飲酒(alc)和吸煙(smk)聯合效應:OR=9.04(95% CI: 2.64, 30.91),遠高于單獨暴露的效應,表明兩者可能存在協同作用,且OR置信區間不包含1,表明具有統計學顯著性。
交互作用分析:
相加交互(RERI):3.74(95% CI: -11.43, 21.87),點估計顯示正向交互,但置信區間包含0,統計不顯著。
案例2:運動與吸煙對腰椎間盤突出的影響
使用包中內置的HDiscdat數據,包含運動參與(“ns”)和吸煙(“smk”)這兩個暴露變量,以及結果腰椎間盤突出(“h”)。以上三個變量均為二分類變量(0 或 1,分別表示不存在或存在)。
展示bootstrap法的應用:
# 擬合含交互項的logistic回歸模型
# 使用glm()函數擬合模型,其中:
# - h: 二分類結局變量(如疾病發生與否)
# - ns*smk: 表示包含ns、smk的主效應及其交互項(等價于 ns + smk + ns:smk)
# - family=binomial(link='logit'): 指定使用logistic回歸
# - data=HDiscdata: 指定使用的數據集
m2 <- glm(h ~ ns*smk, family=binomial(link='logit'), data=HDiscdata)
# 使用bootstrap法進行交互作用分析(1000次重復)
# interactionR_boot()是interactionR包中專門用于bootstrap分析交互作用的函數
# 參數說明:
# - model: m2 - 上一步擬合的回歸模型對象
# - ci.level=0.95 - 置信區間水平(默認0.95)
# - em=FALSE - 不評估效應修飾(Effect Modification),而是分析交互作用
# - recode=FALSE - 不重新編碼保護性因素
# - seed=12345 - 設置隨機種子以保證結果可重復
# - s=1000 - 指定bootstrap重復次數為1000次
# 注意:
# - bootstrap法計算量較大,重復次數越多結果越穩定但耗時越長
# - 建議在正式分析前測試較小次數(如100次)檢查代碼是否正確
table_object2 <- interactionR_boot(m2,
ci.level=0.95,
em=FALSE,
recode=FALSE,
seed=12345,
s=1000)
結果表格清晰展示了:
不運動(ns)的單獨效應:OR=2.38(95% CI: 1.27, 4.46),顯著增加腰椎間盤突出風險。
吸煙(smk)的單獨效應:OR=1.88(95% CI: 1.29, 2.73),同樣顯著增加風險。
不運動(ns)和吸煙(smk)聯合效應:OR=1.98(95% CI: 1.12, 3.48),與單獨吸煙的效應接近,但低于單獨不運動的效應。
交互作用分析:
-1.28(95% CI: -3.63, 0.54),點估計為負值,提示可能的拮抗作用(但統計不顯著)。
3
注意事項
1. 變量編碼
對于暴露變量建議將高風險組編碼為 1,低風險組為 0;對于結局變量,需將患病編碼為1,不患病編碼為0。
2. 置信區間估計方法選擇
小樣本研究優先考慮MOVER法
大樣本研究可使用bootstrap法
Delta法僅建議用于初步分析
3. 注意數據特點與模型假設
確保數據符合所用模型的假設,如使用logistic 回歸模型計算相關 OR 值時,要滿足logistic 回歸的基本假設。
數據應盡量完整,避免過多缺失值,若存在缺失值,需根據實際情況選擇合適的處理方法,如刪除缺失值記錄、插補法等,以免影響分析結果的準確性。
4. 考慮協變量影響
實際研究中,可能存在其他因素會影響結局變量,從而干擾對相加交互效應的分析。因此,模型中可包含適當的協變量,以控制其他因素的干擾,更準確地評估因素間的相加交互作用。
5. 正確解讀分析結果
相加交互效應分析結果反映的是變量間在加法尺度上的交互關系,與乘法交互效應不同。不能將相加交互效應的結果與乘法交互效應混淆,要根據研究目的和專業背景,正確解釋結果的實際意義和生物學內涵。
4
結語
對于從事流行病學、臨床研究或公共衛生分析的研究者,InteractionR無疑是工具箱中的又一利器。InteractionR在識別危險因素共暴露時,能精準捕捉“1+1大于2”的協同效應。它通過高效算法和模型,量化危險因素相互作用產生的整體風險,這種風險往往遠超各因素單獨作用的總和。這種能力有助于更全面地理解復雜因素對健康的綜合影響,為精準干預提供依據。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.