一、前言
在醫療研究領域中,許多重要的問題與事件(如中風、癌症復發、死亡)都與「時間」息息相關。傳統的 Cox 比例風險模型(Cox Proportional Hazards Model)假設暴露變項於追蹤期間維持不變,然而,現實中許多情境(如藥物使用、環境暴露)其實會隨時間變動。這時,便需使用「時間相依(time-dependent)」的存活分析方法,以避免錯誤推論。
本文將介紹一個實際案例,說明如何使用 R 語言進行時間相依 Cox 模型分析,並以生物製劑對帶狀皰疹(Herpes Zoster)風險的影響為例,帶領讀者從資料準備到分析建模,完整呈現流程與關鍵語法。
二、研究設計與資料結構
1. 資料來源與型態
本研究以健保資料為基礎,選取診斷為乾癬(Psoriasis)的病患,自確診日起,每季(每三個月)收集一次該病人的用藥與健康狀態資料。觀察期自 2001 年 1 月 1 日起至 2013 年 12 月 31 日止,或至個案退保/死亡為止。
舉例來說,一位於 2001 年初確診並持續存活至觀察期結束的個案,將累積約 52 筆季資料(13 年 × 4 季)。整體資料筆數接近 400 萬筆,為一典型的長期追蹤「大數據」。
2. 為何需要季資料?
我們研究的主要目的是:探討不同生物製劑的使用是否會增加帶狀皰疹的發生風險。然而,若僅使用個案「基準時點」(Baseline)的用藥狀態,將無法反映病患用藥隨時間變化的真實情況。
假如某個病人在追蹤期間反覆使用與停用某藥物,但 baseline 時並未使用,那麼此人在分析中會被歸為「未暴露組」。此分類方式將大幅扭曲實際暴露風險與 outcome(如帶狀皰疹)之關聯。
因此,我們必須:
- 對每一時期的暴露狀態進行記錄
- 計算各時間窗(time window)內暴露與未暴露者的相對風險(HR)
- 最終整合各時段 HR,以估計整體的藥物影響
此即為「時間相依 Cox 模型」的核心精神。
3. 分析流程與 R 實作
- 匯入資料
# 點選 SPSS 匯入,注意資料路徑不可含中文
# 匯入後使用下列語法轉為 R 可使用的格式
data <- data.frame(data)
attach(data)
1)安裝與載入必要套件
install.packages(c("rms", "Hmisc", "survival")) # 若尚未安裝
library(rms)
library(Hmisc)
library(survival)
2)類別變項處理與參考組設定
#為避免 R 自動將類別變項視為連續變項,並誤設參考組,需手動設定
newarea <- factor(newarea)
medication_treatment <- factor(medication_treatment)
medication_treatment <- relevel(medication_treatment, ref = "14")
avg_steroid_3gr <- factor(avg_steroid_3gr)
avg_steroid_3gr <- relevel(avg_steroid_3gr, ref = "1")
3)單變項 Time-dependent Cox 模型
fit <- coxph(Surv(Quarter_start_date, TR_new_date, Later_HP) ~ medication_treatment, data=data)
summary(fit)
4)考慮重複測量(cluster)
fit1 <- coxph(Surv(Quarter_start_date, TR_new_date, Later_HP) ~ medication_treatment + cluster(ID), data=data)
summary(fit1)
5)考慮重複測量(cluster)+納入其他控制變項
fit2 <- coxph(Surv(Quarter_start_date, TR_new_date, Later_HP) ~ male_sex + age_var + newarea + MH_DM + MH_HTN + MH_Lipid + MH_CKD +MH_Gout + MH_PSA + MH_CCI_total_score + medication_treatment + Statin_m + lN_steroid_cum_dose + cluster(ID), data=data)
summary(fit2)
參考文獻
1. Therneau, T. M., & Grambsch, P. M. (2000). *Modeling Survival Data: Extending the Cox Model*. Springer. https://doi.org/10.1007/978-1-4757-3294-8
2. Klein, J. P., & Moeschberger, M. L. (2003). *Survival Analysis: Techniques for Censored and Truncated Data* (2nd ed.). Springer.
3. Fisher, L. D., & Lin, D. Y. (1999). Time-dependent covariates in the Cox proportional-hazards regression model. *Annual Review of Public Health*, 20, 145–157. https://doi.org/10.1146/annurev.publhealth.20.1.145
4. Allison, P. D. (2010). *Survival Analysis Using SAS: A Practical Guide* (2nd ed.). SAS Institute.
5. Therneau, T. (2023). A Package for Survival Analysis in R. *survival package documentation*. https://cran.r-project.org/web/packages/survival/index.html
6. Kassambara, A., & Kosinski, M. (2021). *Survminer: Drawing Survival Curves using 'ggplot2'*. https://cran.r-project.org/package=survminer
