本關目標
每個研究說的是不同的「方言」:有人報死亡人數、有人報住院天數、有人報量表分數、有人報存活曲線。Meta-analysis 要合併,第一步是把每個研究翻譯成同一種效果量(effect size),並附上它的變異數(variance)或標準誤(standard error, SE)。打完本關,你應該能:
- 寫出二分類資料 RR、OR、RD 的公式與變異數,並知道為什麼要在 log 尺度合併。
- 說明 OR 在事件常見時會比 RR 更遠離 1 的原因,避免本關 Boss「勝算倍率幻術師」的誤導。
- 分辨連續資料的 MD 與 SMD(Cohen’s d、Hedges’ g),知道何時該用哪一個。
- 知道 time-to-event 資料為什麼要用 ln HR。
- 依資料型態與臨床問題,選出合適的效果量。
一個貫穿全站的觀念:MA 合併的永遠是「效果量 yᵢ + 它的變異數 vᵢ」這一對數字。 後面的模型、權重、異質性,全都建立在這一對數字上(Cochrane Handbook 第 6、10 章)。
一、二分類資料(binary outcome)
2×2 表與記號
每個研究整理成一張 2×2 表:
| 有事件 | 無事件 | 合計 | |
|---|---|---|---|
| 治療組 | a | b | n₁ = a + b |
| 對照組 | c | d | n₂ = c + d |
兩組的風險(risk)分別是 p₁ = a / n₁、p₂ = c / n₂。
三種效果量的公式
Risk ratio (RR) RR = p1 / p2
ln RR 的變異數 ≈ 1/a − 1/n1 + 1/c − 1/n2
Odds ratio (OR) OR = (a/b) / (c/d) = ad / bc
ln OR 的變異數 ≈ 1/a + 1/b + 1/c + 1/d
Risk difference (RD) RD = p1 − p2
RD 的變異數 ≈ p1(1−p1)/n1 + p2(1−p2)/n2
(變異數為大樣本近似公式;Cochrane Handbook 第 6 章。)
實際算一個:ex1 的 Aronson 1948
ex1 BCG 資料的第一個試驗(Aronson 1948):疫苗組 4 人得 TB、119 人沒得;對照組 11 人得 TB、128 人沒得。代入 RR 公式:
ln RR = ln[(4/123) / (11/139)]
var = 1/4 − 1/123 + 1/11 − 1/139
metafor 的 escalc(measure = "RR") 算出來的結果是 yᵢ = −0.8893、vᵢ = 0.3256(output.txt)。yᵢ 是負的,代表疫苗組風險較低;vᵢ 很大,是因為事件數只有 4 和 11——變異數主要由事件數決定,事件越少越不精確。對照同一份輸出中的 TPT Madras 1980:每組各有約 500 個事件,vᵢ 只有 0.0040。
library(metafor)
dat <- escalc(measure = "RR", ai = tpos, bi = tneg, ci = cpos, di = cneg, data = dat.bcg)
dat[, c("author", "year", "yi", "vi")] # yi = ln RR, vi = 變異數
為什麼要取 log
RR 與 OR 是比值:RR = 0.5 與 RR = 2 代表「同樣大小、方向相反」的效果,但在原尺度上,0.5 距離 1 只有 0.5,2 距離 1 卻有 1,不對稱。取 log 之後 ln 0.5 = −0.693、ln 2 = +0.693,對稱於 0,且抽樣分布較接近常態。所以:
Ratio 類效果量一律在 log 尺度合併,最後再取 exp 轉回原尺度報告。 forest plot 的橫軸用 log 刻度也是這個原因。
RD 本身是差值,直接在原尺度合併。
互動:切換 RR 與 OR
下面的練功台已載入 BCG 的 13 個 2×2 表。試著在 RR 與 OR 之間切換,觀察合併結果與各試驗點估計有什麼變化;再想想看:哪幾個試驗的事件率比較高?(提示:看看 Stein & Aronson 1953 的對照組。)
| 研究 | 治療 e | 治療 n | 對照 e | 對照 n | 刪除 |
|---|---|---|---|---|---|
- 研究數 k
- 13
- τ²(REML)
- 0.3132
- τ
- 0.560
- Q (df = 12)
- 152.23
- Q 的 p 值
- < 0.001
- H²
- 12.86
| 模型 | 合併 RR | 95% CI | p |
|---|---|---|---|
| Fixed (IV) | 0.65 | 0.60 – 0.70 | < 0.001 |
| Random (REML) | 0.49 | 0.34 – 0.70 | < 0.001 |
| 預測區間 | 0.15 – 1.55 |
Random-effects 合併結果:95% CI 未跨過 1,達統計顯著。 預測區間代表「下一個類似研究」的真實效應可能落點,目前跨過 1。
CI 與預測區間採常態分位數(同 metafor 預設);t 分布版預測區間(Higgins 2009, df = k − 2): 0.13 – 1.78。 任一格為 0 時四格各加 0.5。
切到「yi / SE」模式(或按「轉成 yi/SE」)即可拖曳研究。
方塊大小 ∝ random-effects 權重;紅色菱形下方細條為預測區間。
二、Boss 戰:OR 不是 RR
Odds 與 risk 的差別
- Risk(風險) = 事件數 / 總人數。10 人中 2 人發生 → risk = 0.2。
- Odds(勝算) = 事件數 / 未發生數。10 人中 2 人發生 → odds = 2/8 = 0.25。
事件罕見時,未發生數 ≈ 總人數,所以 odds ≈ risk,OR ≈ RR。事件常見時兩者就分家了。
一張表看懂「OR 誇大 RR」
假設治療都讓風險變成原本的一半或三分之二,但 baseline risk 不同(以下為依公式計算的教學示例,可用下方 R code 重現):
| 對照組風險 | 治療組風險 | RR | OR |
|---|---|---|---|
| 4% | 2% | 0.50 | 0.49 |
| 40% | 20% | 0.50 | 0.375 |
| 60% | 40% | 0.667 | 0.444 |
rr_or <- function(p1, p0) c(RR = p1 / p0, OR = (p1 / (1 - p1)) / (p0 / (1 - p0)))
round(rr_or(0.02, 0.04), 3); round(rr_or(0.20, 0.40), 3); round(rr_or(0.40, 0.60), 3)
規律:OR 永遠比 RR 離 1 更遠(RR 小於 1 時 OR 更小,RR 大於 1 時 OR 更大),而且事件越常見、效果越大,差距越明顯。Zhang & Yu 1998 指出當 outcome 發生率超過約 10% 時,OR 就不再適合近似 RR;Davies 1998 則說明在 baseline risk 低、效果不大的情況下兩者很接近,嚴重偏離主要出現在事件常見且效果大的時候。
臨床上最常見的錯誤:把 OR 0.375 說成「風險降低 62.5%」。風險實際上是降低 50%(RR 0.50)。要講「風險降低幾 %」,用的是 RR(1 − RR)。
那為什麼還要用 OR?
OR 有幾個數學上的優點(Deeks 2002;Cochrane Handbook 第 6 章):
- 對稱性:把「事件」與「非事件」互換,OR 只是變成倒數;RR 則不然(「死亡的 RR」與「存活的 RR」不是倒數關係)。
- 數值範圍不受限:RR 套用到高 baseline risk 族群時,可能算出超過 100% 的預測風險;OR 不會。
- case-control study 只能估 OR;logistic regression 的輸出也是 OR。
所以 OR 不是「錯的」,只是不能當 RR 讀。
相對效果 vs 絕對效果
| 相對效果(RR、OR) | 絕對效果(RD、NNT) | |
|---|---|---|
| 跨研究一致性 | 通常較一致 | 常隨 baseline risk 變動 |
| 臨床溝通 | 不直觀(「降低 50%」可能是 2%→1%) | 直觀(每治療 N 人可避免 1 個事件) |
Deeks 2002 以大量 Cochrane SR 做實證比較,發現平均而言 RR 與 OR 模型比 RD 更一致。實務上的常見做法是:用相對效果量合併,再把合併 RR / OR 套用到目標族群的 baseline risk,換算成絕對效果。這也是 GRADE Summary of Findings 表呈現二分類 outcome 的方式(Guyatt 2013)。NNT 不要用「把所有試驗人數加總」算(第 1 關提過的 Simpson’s paradox;Altman & Deeks 2002)。
另外要注意 RR 的方向不對稱:「降低死亡的 RR」與「提高存活的 RR」在不同 baseline risk 下的行為不同,Deeks 2002 討論了該選哪一個方向,結論是要結合實證與臨床判斷,而不是只看哪個模型的異質性檢定比較好看。
三、連續資料(continuous outcome)
MD:mean difference
所有研究用同一個單位(mmHg、天、kg)測量時,用 MD:
MD = M1 − M2
var(MD) = SD1²/n1 + SD2²/n2
MD 的好處是直接用原始單位解讀,讀者馬上能判斷有沒有臨床意義。
SMD:standardized mean difference
不同研究用不同量表測同一個概念(例如憂鬱程度用 HAM-D、BDI、MADRS),單位無法直接比,就把差值除以標準差,變成「差了幾個 SD」:
Cohen's d = (M1 − M2) / S_pooled
S_pooled = sqrt( [(n1−1)SD1² + (n2−1)SD2²] / (n1 + n2 − 2) )
Hedges' g = J × d, J ≈ 1 − 3 / (4(n1 + n2) − 9)
var(g) ≈ (n1 + n2)/(n1 n2) + g² / (2(n1 + n2))
Cohen’s d 在小樣本會高估效果,Hedges’ g 乘上校正因子 J 修正這個偏誤。J 越接近 1 表示校正越少;樣本越小 J 越小。metafor 的 escalc(measure = "SMD") 預設輸出的就是 Hedges’ g(用精確公式計算 J,上面的 J 是近似式)。
ex4:同一份資料,MD 與 SMD 並列
ex4 是 dat.normand1999:專科中風照護 vs 一般照護,outcome 是住院天數(9 組比較)。所有研究單位都是「天」,其實只需要 MD;這裡並列 SMD 純粹為了教學。
| 效果量 | 合併估計(random-effects, REML) | 95% CI | p |
|---|---|---|---|
| MD(天) | −15.1 天 | −32.6 至 2.4 | 0.091 |
| SMD(Hedges’ g) | −0.537 | −1.142 至 0.068 | 0.082 |
兩種效果量的結論方向一致:點估計偏向專科照護住院較短,但 95% CI 都跨 0,未達統計顯著。這不等於「兩種照護一樣」,只代表這批資料無法排除「沒有差別」也無法排除「有明顯差別」。
校正因子 J 在 ex4 中的範圍約 0.960–0.998:最小的是 Montreal-Home(總樣本數 21,J = 0.960),最大的是 Edinburgh(總樣本數 311,J = 0.998)。這正好示範「樣本越小,校正越多」。
SMD 的三個陷阱
- SMD 受族群 SD 影響。 同樣的 MD,在 SD 很小的族群(例如嚴格篩選的試驗)會得到較大的 SMD。所以 SMD 的差異可能來自族群同質性不同,而不是療效不同。
- Cohen 的 0.2 / 0.5 / 0.8 只是慣例。 它不是臨床標準;判斷有沒有臨床意義,應回到 outcome 的 MCID,或把 SMD 乘以一個代表性 SD 轉回原始單位。
- 變化量(change score)與最終值(final value)不能用 SMD 混合合併。 兩者的 SD 不同(變化量的 SD 通常較小),標準化後不可比;MD 則可以把兩者放在同一個 MA 裡(Cochrane Handbook 第 10 章)。
另外,量表方向要一致:若有的量表「分數越高越好」、有的「越高越差」,要先把其中一邊乘以 −1(第 3 關)。
二分類與連續混在一起怎麼辦
有的研究報「改善人數」,有的報「量表平均分數」。Chinn 2000 提出一個簡單換算:ln OR ÷ 1.81 ≈ SMD(1.81 ≈ π/√3,來自 logistic 分布的標準差)。這個轉換假設潛在的連續變數在兩組有相同的變異,應該作為補充分析或 sensitivity analysis,而不是預設做法。
四、Time-to-event 資料:HR
存活分析(死亡、復發、住院前的時間)的效果量是 hazard ratio(HR)。和 RR、OR 一樣是比值,所以以 ln HR 與其 SE 合併。
為什麼不直接數「研究結束時死了幾個人」算 RR?因為:
- 各研究追蹤時間不同,累積事件數不可比;
- 會丟掉 censoring(設限)的資訊與事件發生的時間點。
Tierney 2007 整理了從已發表文章取得 ln HR 與 SE 的實用方法,包括從 HR 的 CI、log-rank 檢定的 p 值或 O − E 統計量,甚至從 Kaplan-Meier 曲線回推。第 3 關會示範公式。
解讀 HR 時要記得:HR 描述的是「瞬時事件率」的比值,HR 0.75 不等於「風險降低 25%」或「存活時間延長 25%」。若要和病人溝通,比較好的方式是配合 baseline 存活率,換算成某個時間點的絕對差異。
五、選擇效果量:一張決策表
| 資料型態 | 首選 | 何時考慮其他 | 主要陷阱 |
|---|---|---|---|
| 二分類,RCT | RR(或 OR) | 需要絕對效果溝通 → 合併後換算 RD / NNT | OR 當 RR 讀;RR 方向(benefit vs harm) |
| 二分類,case-control | OR | — | 只能估 OR |
| 二分類,罕見事件 | OR / RR(第 4 關的 MH、Peto) | 零事件研究的處理要事前規定 | continuity correction 不是中性的 |
| 連續,同單位 | MD | — | 變化量與最終值的 SD 不同 |
| 連續,不同量表 | SMD(Hedges’ g) | 可轉回原始單位解讀 | 受族群 SD 影響;Cohen 分級不是臨床標準 |
| Time-to-event | ln HR | — | 用累積事件數會丟失時間資訊 |
| 診斷準確度 | sensitivity / specificity(雙變量模型) | 見第 11 關 | 不能各自單獨合併 |
選擇原則(Cochrane Handbook 第 6、10 章;Deeks 2002):
- 事前在 protocol 中決定,不要看了結果才挑「顯著」的效果量。
- 優先考慮跨研究可能較一致的指標(通常是相對效果)。
- 同時考慮讀者能不能正確解讀:最後的報告應同時給相對與絕對效果。
常見錯誤與誤讀
| 誤讀 | 比較精確的說法 |
|---|---|
| 「OR 0.4 = 風險降低 60%」 | 只有事件罕見時才近似;事件常見時 OR 會誇大相對風險的變化 |
| 「ratio 直接平均就好」 | Ratio 要在 log 尺度合併,再轉回原尺度 |
| 「SMD 0.5 = 中等臨床效果」 | Cohen 分級是慣例;臨床意義要看 MCID 或轉回原始單位 |
| 「HR 0.75 = 存活時間多 25%」 | HR 是瞬時事件率的比值,不是存活時間或累積風險的比值 |
| 「MD 未達顯著 = 兩組相同」 | 只代表未偵測到統計顯著差異;看 CI 是否仍包含有臨床意義的效果 |
| 「變化量和最終值都轉成 SMD 就能合併」 | 兩者 SD 不同,SMD 不可混合;MD 才可以 |
本關重點小抄
- MA 合併的是 (yᵢ, vᵢ):效果量 + 變異數。
- RR = p₁/p₂;OR = ad/bc;RD = p₁ − p₂。 Ratio 類在 log 尺度合併。
- 變異數主要由事件數決定:Aronson 1948 的 vᵢ = 0.3256,TPT Madras 1980 的 vᵢ = 0.0040。
- OR 永遠比 RR 離 1 更遠;事件常見(約 > 10%)且效果大時差距明顯。
- 相對效果合併、絕對效果溝通(GRADE SoF 的做法)。
- 同單位用 MD,不同量表用 SMD(Hedges’ g);SMD 受族群 SD 影響,Cohen 分級不是臨床標準。
- ln OR ÷ 1.81 ≈ SMD(Chinn 2000),當作補充分析。
- Time-to-event 用 ln HR + SE,不要改數累積事件。
延伸閱讀
- Higgins JPT, Thomas J, Chandler J, et al., eds. Cochrane Handbook for Systematic Reviews of Interventions, version 6(2019;線上持續更新版)。第 6 章〈Choosing effect measures and computing estimates of effect〉、第 10 章。https://training.cochrane.org/handbook
- Deeks JJ. Issues in the selection of a summary statistic for meta-analysis of clinical trials with binary outcomes. Stat Med. 2002;21(11):1575-1600. DOI: 10.1002/sim.1188
- Zhang J, Yu KF. What’s the relative risk? A method of correcting the odds ratio in cohort studies of common outcomes. JAMA. 1998;280(19):1690-1691. DOI: 10.1001/jama.280.19.1690
- Davies HTO, Crombie IK, Tavakoli M. When can odds ratios mislead? BMJ. 1998;316(7136):989-991. DOI: 10.1136/bmj.316.7136.989
- Chinn S. A simple method for converting an odds ratio to effect size for use in meta-analysis. Stat Med. 2000;19(22):3127-3131. PMID: 11113947
- Tierney JF, Stewart LA, Ghersi D, Burdett S, Sydes MR. Practical methods for incorporating summary time-to-event data into meta-analysis. Trials. 2007;8:16. DOI: 10.1186/1745-6215-8-16
- Altman DG, Deeks JJ. Meta-analysis, Simpson’s paradox, and the number needed to treat. BMC Med Res Methodol. 2002;2:3. DOI: 10.1186/1471-2288-2-3
- Guyatt GH, Oxman AD, Santesso N, et al. GRADE guidelines: 12. Preparing summary of findings tables—binary outcomes. J Clin Epidemiol. 2013;66(2):158-172. DOI: 10.1016/j.jclinepi.2012.01.012
- Viechtbauer W. Conducting meta-analyses in R with the metafor package. J Stat Softw. 2010;36(3):1-48. DOI: 10.18637/jss.v036.i03
- Normand SLT. Meta-analysis: formulating, evaluating, combining, and reporting. Stat Med. 1999;18(3):321-359. PMID: 10070677(ex4 資料來源,隨 metadat 套件附帶)
下一關:第 3 關 資料前處理——文章沒給你 SE、只給 median 和 IQR 時怎麼辦?