統合分析森林圖產生器
給系統性回顧、學位論文和期刊投稿用的統合分析森林圖產生器:給它每篇研究的估計值和信賴區間,它就畫出方塊、鬚線和合併菱形,權重、I²、τ² 和整體效應檢定都是算出來的,不是猜的。支援勝算比、風險比、危險比和平均差,也能分次群組。
森林圖產生器的期刊風格
五種期刊預設,各由森林圖產生器畫一份不同的統合分析:RevMan 風格的風險比回顧、高異質性的勝算比分析、標準化平均差、單一試驗的次群組,以及同時呈現兩種合併模型的圖。點選卡片即可載入它的提示詞和研究。
森林圖範例
四張森林圖範例都出自森林圖產生器,各依卡片上的提示詞和研究算繪(全為示意資料)。點選卡片即可載入上方輸入框,再把數字換成你的。
什麼是森林圖?
森林圖是統合分析的圖:每篇研究的效應估計值畫成方塊,信賴區間畫成水平線,所有研究的合併估計值則是最下方的菱形。一條垂直線標出無效應的位置,勝算比、風險比或危險比這類比值為 1,平均數的差值為 0。每個方塊的大小是該研究在合併結果中的權重,所以最精確的研究最先吸引目光。由上往下讀各列,就能一眼看出研究之間是否一致、哪幾篇主導結果,以及合併結果能否排除無效應。名稱來自一列列的線條看起來像一片樹林;較早的論文稱它為 blobbogram。
關於這個森林圖產生器
- 每篇研究輸入成 Smith 2019 OR 0.82 (0.61 to 1.10),可加上權重或 n,也可以附加估計值和 CI 上下限的 .csv、.tsv 或 .xlsx 表格。森林圖產生器也能讀取帶次群組標題和 Total 列的 RevMan 格式匯出檔。
- 森林圖產生器以程式從區間算出每篇研究的標準誤、反變異數權重、固定效應和 DerSimonian–Laird 隨機效應合併估計值、Q、I²、τ² 和 z 檢定;影像模型只負責擺放給它的東西。
- 森林圖產生器把比值放在對數軸上,採用 RevMan 的對稱刻度(0.5–2、0.2–5、0.1–10…),平均差或標準化平均差則放在以 0 為中心的線性軸上。
- 森林圖產生器每張圖最多 40 列,支援次群組標題、每個次群組的小計菱形,以及次群組差異檢定。
- 森林圖產生器的 Cochrane、JAMA、BMJ、The Lancet 和 NEJM 期刊預設會設定顏色和區間的寫法,從 0.82 [0.61, 1.10] 到 0·82 (0·61–1·10)。
森林圖怎麼看
七項髖部骨折手術後早期下床活動的示意試驗,各自報告 30 天死亡率的風險比。這就是上方第一個範例,用森林圖產生器執行的同一套程式排版。依照編號順序閱讀。
- 1
研究列
每篇研究一列,通常寫第一作者和年份,順序依回顧的排列方式(依年份、依權重或依效應大小)。若有次群組標題,會放在所屬各列上方,不畫標記。
- 2
方塊:研究的估計值
每個方塊的中心是該研究的點估計值。Tanaka 2019 位於 0.93,表示早期下床活動使死亡風險降低 7%。方塊面積是該研究的權重,Tanaka 的區間最窄,所以方塊最大。
- 3
鬚線:信賴區間
水平線是 95% 信賴區間。Brennan 2020 從 0.37 延伸到 0.91。鬚線寬,代表研究規模小或事件罕見;末端畫箭頭表示區間超出座標軸。
- 4
無效應線
位於 1 的垂直線(平均差則在 0)。鬚線跨過它的研究,其本身的結果與無效應相容:這裡七篇中有五篇。這不代表該研究什麼都沒發現,只表示它規模太小,單靠自己無法判斷。
- 5
菱形:合併估計值
菱形中心是合併風險比 0.83,左右兩端是合併的 95% CI,0.73 到 0.95。雖然大多數單篇研究都跨過無效應線,菱形卻沒有:合併試驗讓區間變窄了。
- 6
權重和數值欄
右側各欄印出每篇研究的權重,以及估計值和區間,不必量就能讀圖;森林圖產生器預設兩者都印。權重加總為 100%,來自每篇研究變異數的倒數(隨機效應下再加上 τ²)。
- 7
異質性和整體檢定
圖下方的 I² = 26% 表示研究間的差異約有四分之一超出機率所能解釋;τ² = 0.008 是對數尺度上的研究間變異數;Z = 2.72(P = 0.007)檢定合併效應是否不同於無效應。
- 8
「有利於」標籤
座標軸下方的文字說明哪一邊是好消息。以死亡率而言,風險比小於 1 有利於早期下床活動,所以這個標籤放在左邊。看任何森林圖之前都要先確認:若結果是康復這類指標,兩邊會對調。
把這個範例載入森林圖產生器,改動其中一篇研究,例如把 Kowalski 2022 改成 RR 1.40 (1.05 to 1.87),就能看到權重、菱形和 I² 跟著變動。
如何用森林圖產生器製作森林圖
把研究交給森林圖產生器
一篇研究一行,或用逗號分隔:標籤、效應量、估計值和 95% CI,例如 Lee 2020 RR 0.75 (0.55 to 1.02)。有權重或樣本數就加上 weight 18% 或 n = 240,在一組研究前寫 Subgroup Adults:。也可以附加試算表或統計軟體匯出的表格,森林圖產生器會讀取各欄。
說明合併方式和圖上要放什麼
森林圖產生器預設使用隨機效應;也可以寫固定效應、兩種模型,或在迴歸、單一試驗次群組圖中不畫合併估計值。寫出「有利於」標籤(左邊有利於早期下床活動,右邊有利於常規照護),信賴水準不是 95% 時也要註明。
選擇期刊風格並算繪
選擇 Cochrane、JAMA、BMJ、The Lancet 或 NEJM,然後產生。方塊、鬚線、菱形和印出的數字都維持森林圖產生器算出的結果;風格只改變顏色、字型和區間的寫法。
森林圖產生器如何合併統合分析
統合分析森林圖的好壞,取決於它下方那一列合併結果。以下是森林圖產生器對每次請求套用的反變異數公式,和 RevMan、metafor 及 Stata 的 meta 指令處理附信賴區間估計值時所用的公式相同。
由 95% CI 求標準誤
比值:SE = (ln U − ln L) ÷ 3.92
差值:SE = (U − L) ÷ 3.92
勝算比、風險比和危險比在對數尺度上合併,因為它們的區間在那裡是對稱的;3.92 是 95% 區間的 2 × 1.96,請求註明時,森林圖產生器對 90% 用 3.29、對 99% 用 5.15。
固定效應(共同效應)估計值
wᵢ = 1 ÷ SEᵢ²
θ̂ = Σ wᵢ yᵢ ÷ Σ wᵢ
SE(θ̂) = 1 ÷ √Σ wᵢ
每篇研究依其精確度按比例計入。這假設所有研究估計的是同一個真實效應。
異質性:Q、I² 和 τ²
Q = Σ wᵢ (yᵢ − θ̂)²
I² = max(0, (Q − df) ÷ Q)
τ² = max(0, (Q − df) ÷ (Σ wᵢ − Σ wᵢ² ÷ Σ wᵢ))
Q 與自由度 k − 1 的 χ² 比較,得到異質性 P;I² 是超出機率的變異比例;τ² 是 DerSimonian–Laird 研究間變異數。
隨機效應估計值
wᵢ* = 1 ÷ (SEᵢ² + τ²)
θ̂* = Σ wᵢ* yᵢ ÷ Σ wᵢ*
Z = θ̂* ÷ SE(θ̂*)
每個變異數都加上 τ²,使權重趨於平均,小型研究的分量變重,研究結果不一致時菱形也會變寬。這是森林圖產生器的預設模型。
以 R 的 metafor 套件中的教科書資料集 BCG 疫苗試驗(13 篇研究,Colditz 1994)驗證:森林圖產生器重現了 Q = 152.23、I² = 92.12%、τ² = 0.3088 和隨機效應對數風險比 −0.7141,與已發表結果一致。
森林圖產生器中的固定效應與隨機效應
同一批研究由森林圖產生器用兩種方式合併。試驗結果一致時(髖部骨折範例,I² = 26%),兩個菱形幾乎重疊。結果不一致時,隨機效應把權重移向小型研究並使區間變寬,這裡寬到跨過 1。
| 研究 | 模型 | 合併 RR [95% CI] | 最大權重 | 最小權重 |
|---|---|---|---|---|
| 髖部骨折試驗,I² = 26% | 固定效應 | 0.84 [0.76, 0.94] | Tanaka 2019, 26.8% | Brennan 2020, 6.0% |
| 隨機效應 | 0.83 [0.73, 0.95] | Tanaka 2019, 22.8% | Brennan 2020, 7.6% | |
| 五項結果不一致的試驗,I² = 91% | 固定效應 | 0.88 [0.79, 0.97] | Ennis 2021, 27.9% | Adler 2015, 9.0% |
| 隨機效應 | 0.77 [0.54, 1.10] | Ennis 2021, 20.9% | Adler 2015, 18.4% |
該報告哪一種?研究在族群、劑量或設計上有差異時(多數臨床回顧都是如此)用隨機效應;研究彼此幾乎是重複實驗,或研究太少無法估計 τ² 時用固定效應。許多回顧兩種都呈現。寫「兩種模型」,森林圖產生器就會畫出共同效應和隨機效應兩個菱形,各附一欄權重。
森林圖產生器能畫的森林圖,依效應量分類
相對風險森林圖、危險比森林圖和平均差森林圖之間的差別,在於座標軸、無效應線和數字的合併方式。在請求中寫出效應量,森林圖產生器就會把三者都設定好。
勝算比森林圖
用於二元結果,來自病例對照研究和報告勝算的試驗。對數軸,無效應線在 1。每篇研究輸入成 名稱 年份 OR 0.62 (0.41 to 0.94);森林圖產生器在 ln(OR) 上合併,再把菱形換回比值尺度印出。OR 小於 1 表示第一組發生該結果的勝算較低。
相對風險森林圖
風險比(相對風險),用於報告風險本身的世代研究和試驗。與勝算比相同的對數軸,只有在事件罕見時兩者才接近。寫 RR 或 risk ratio;森林圖產生器把該欄標為風險比,並讓比值刻度以 1 為中心對稱,所以 0.5 和 2 與 1 的距離相同。
危險比森林圖
用於事件發生時間的結果:存活、復發、再住院時間。危險比來自 Cox 模型,以報告的區間在對數尺度上合併。若有各試驗報告的權重就一併輸入;森林圖產生器依它決定方塊大小,但仍自己合併危險比。
平均差與 SMD 森林圖
用於連續型結果,例如血壓、疼痛分數或 HbA1c。所有研究使用同一量表時,平均差(MD)保留單位(mmHg 或分);量表不同時,標準化平均差(SMD,Hedges' g)以 SD 相除。兩者都用以 0 為中心的線性軸,森林圖產生器會選對稱的範圍,讓 0 落在正中間。
次群組森林圖
同一份統合分析依族群、劑量或設計拆開。在各組研究列之前寫 Subgroup Adults: 和 Subgroup Children:,森林圖產生器就會拆分表格。每個次群組各有標題、小計菱形和自己的 I²,頁尾再加上次群組差異檢定,也就是判斷各次群組效應的差異是否超出機率的 χ²。
邏輯斯迴歸或單一試驗次群組的森林圖
單一迴歸模型中各共變數的調整後勝算比,或單一試驗依年齡、性別和共病分組的危險比。這些列不是獨立的研究,所以絕不合併。森林圖產生器能辨識迴歸和單一試驗次群組的請求,不替這些列畫菱形,只有你提供整體結果時才畫出它。
解讀森林圖:I² 長什麼樣子
三份各含五篇研究的示意統合分析,由森林圖產生器以隨機效應合併,平均效應幾乎相同。區分它們的是方塊在菱形周圍散開的程度,也就是 I² 所衡量的東西。Cochrane Handbook 的大致準則:0–40% 可能不重要,30–60% 中度,50–90% 顯著,75–100% 相當大。
低異質性
I² = 0%, τ² = 0.000, 合併 RR 0.79 [0.70, 0.88]
各區間幾乎完全重疊,每個方塊都靠近菱形。研究說的是同一件事;固定效應和隨機效應的結果一致。
中度異質性
I² = 58%, τ² = 0.023, 合併 RR 0.81 [0.68, 0.97]
兩篇研究靠近 1,兩篇明顯低於 1。值得在結果中寫一句,並在合併估計值之前或之後檢視它們之間有什麼不同。
相當大的異質性
I² = 91%, τ² = 0.145, 合併 RR 0.77 [0.54, 1.10]
有些區間完全不重疊,分布在 1 的兩側。隨機效應菱形變寬並跨過無效應線:這裡的合併數字掩蓋的比說明的多,下一步應該做次群組分析或統合迴歸。
I² 不像 Q 那樣隨研究數增加而變大,所以回顧都報告它;但研究少於約十篇時,它本身的不確定性很大。請在旁邊一併報告 τ²;森林圖產生器兩者都會印出。
森林圖產生器 vs Excel、R、Stata、RevMan 和 SPSS
多數森林圖是用系統性回顧軟體或 R 畫的。下表列出各工具需要你提供什麼、合併結果從哪裡來,以及森林圖產生器的定位。
| 工具 | 森林圖怎麼做 | 能否合併並給出 I² | 你需要準備什麼 |
|---|---|---|---|
| 森林圖產生器 | 輸入或附加研究;森林圖產生器以期刊風格畫出整張圖 | 可以:固定效應、隨機效應(DerSimonian–Laird)或兩者,支援次群組 | 每篇研究的估計值和 CI |
| Excel | 散布圖加自訂水平誤差線、對數刻度的 x 軸,再用一個虛擬數列放標籤 | 不行;Q、I² 和菱形都要在儲存格裡手算 | 每張圖花一小時調整圖表格式 |
| R (metafor, meta) | metafor 用 forest(rma(yi, vi)),meta 用 forest(metagen(...));要自訂外觀可用 ggplot2 的 geom_pointrange | 可以:DL、REML、Paule–Mandel 等,並有預測區間 | 會用 R,還要寫程式調整圖的樣式 |
| Stata | 先 meta set,再 meta forestplot(Stata 16 以後),或使用者撰寫的 metan | 可以 | Stata 授權和指令 |
| RevMan | 依 Cochrane 回顧中輸入的資料自動畫出 | 可以:Mantel–Haenszel、Peto 或反變異數法 | 在 RevMan 建好回顧;匯出為圖片 |
| SPSS、SAS、Prism | SPSS 28 以上的 Meta Analysis 程序;SAS 用 PROC SGPLOT 搭配 HIGHLOW;Prism 畫成水平誤差線圖 | SPSS 可以;SAS 要自己寫程式;Prism 不行 | 各自的授權和操作程序 |
已經在 R、Stata 或 RevMan 做完分析了?把研究列和軟體印出的合併列貼上:森林圖產生器會照你給的合併結果畫出,從區間算出異質性說明列,權重則保持原樣。
森林圖產生器與統合分析常見問題
森林圖上的菱形代表什麼?
菱形是合併估計值:中心是所有研究的綜合效應,左右兩端是該估計值的信賴區間。菱形沒有碰到無效應線,表示合併結果在選定的水準下具統計顯著性。次群組森林圖每個次群組各有一個較小的菱形,最下方是整體菱形。森林圖產生器從研究資料算出每個菱形的頂點,所以菱形的寬度就是真實的合併區間。
信賴區間跨過無效應線是什麼意思?
表示該研究的結果在 95% 水準下與無效應相容:它的區間包含勝算比、風險比或危險比等於 1,或差值等於 0。這不是「沒有效應」的證據;即使真實效應存在,小型研究也會跨過這條線,這正是要合併它們的原因。森林圖產生器在每一列旁邊印出區間,看得出哪些包含 1。綜合答案看菱形,每篇研究掌握多少資訊則看鬚線的寬度。
森林圖為什麼用對數刻度?
因為比值在對數尺度上是對稱的:勝算比 0.5 低於 1 的程度,和 2 高於 1 的程度相同。在線性軸上,0.5 到 1 的距離只有 2 到 1 的一半,區間看起來會一邊大一邊小。比值也是在對數尺度上合併,所以菱形在那裡同樣對稱。平均差維持線性軸;森林圖產生器會依你寫的效應量在兩者之間切換。
森林圖上方塊的大小代表什麼?
方塊面積與該研究在統合分析中的權重成正比,權重來自其變異數的倒數:區間窄的大型研究方塊就大。大小和效應有多大無關。森林圖產生器中每個方塊的邊長是其權重相對於最大權重的平方根,所以面積對應權重,並設有下限,讓最小的研究也看得見。
怎麼用 Excel 畫森林圖?
Excel 沒有森林圖這種圖表,所以要從散布圖改造:x 放估計值、y 放列號,加上自訂正負值的水平誤差線(上限減估計值、估計值減下限),比值要把 x 軸設為對數刻度,反轉 y 軸並隱藏數字,再用第二個數列或資料標籤加上研究名稱。合併菱形得在儲存格裡算好,再畫成圖案。想省掉這些格式調整,就把同樣的欄位貼進森林圖產生器。
怎麼用 R 畫森林圖?
用 metafor:res <- rma(yi, vi, data = dat, method = "DL"); forest(res)。其中 yi 是各研究的對數比值,vi 是其變異數(escalc() 可從次數算出兩者)。meta 套件用 forest(metagen(TE, seTE, studlab)) 達到同樣效果,forestplot 或 ggplot2 的 geom_pointrange 可做出自訂外觀。R 最有彈性;手上已有估計值和區間、想不寫繪圖程式就得到期刊風格的圖時,森林圖產生器最快。
random forest plot 和森林圖是同一種東西嗎?
不是。隨機森林(random forest)是由許多決策樹組成的機器學習模型,random forest plot 通常指它的變數重要性長條圖或部分依賴圖。森林圖則是呈現估計值和信賴區間的統合分析圖。兩者同名只是巧合;森林圖產生器畫的是統合分析的森林圖。
森林圖和漏斗圖有什麼不同?
森林圖呈現每篇研究的效應和合併結果;漏斗圖把每篇研究的效應對其標準誤作圖,用來檢查小型研究效應和發表偏誤。森林圖產生器畫的是前者;回顧通常兩者都放:森林圖給出答案,漏斗圖(研究十篇以上時)說明這個答案有多可信。
森林圖產生器會幫我算合併估計值嗎?
會,森林圖產生器自己合併研究,以每個信賴區間算出的反變異數權重:除非你要求固定效應或兩者並列,否則使用隨機效應(DerSimonian–Laird)。它會印出合併估計值、其區間、權重、I²、τ²、異質性 χ² 和 P,以及整體效應檢定。影像模型只拿到這些數字,從不自己計算。
可以改用 RevMan、Stata 或 R 算出的合併結果嗎?
可以,你給的合併列,森林圖產生器會完全照寫的畫出。輸入成 Overall 0.70 (0.59 to 0.82) 或 Total (95% CI) 0.70 [0.59, 0.82],或放在附加表格的 Total 列。這樣就能把軟體算出的 Mantel–Haenszel 或 REML 結果保留在圖上;異質性說明列則由各研究的區間算出。
如果研究報告的是 90% 或 99% 信賴區間呢?
在請求中寫 90% CI 或 99% CI,森林圖產生器把區間換算成標準誤時就會用 1.645 或 2.576 取代 1.96,合併區間也以同樣的水準印出。同一張森林圖不支援混用不同水準:請先換算成同一水準。
為什麼森林圖產生器一定要每篇研究的點估計值?
因為圖上的每個數字都必須是你給的,或是從你給的數字算出來的。一旦涉及四捨五入,單靠區間無法精確決定點估計值,所以森林圖產生器會要你提供估計值,而不是用猜的。權重和合併結果也一樣:只有你寫明或程式算出時才會印出。
資料來源
- Chapter 10: Analysing data and undertaking meta-analyses — Cochrane Handbook for Systematic Reviews of Interventions
- Forest plots: trying to see the wood and the trees (Lewis and Clarke, 2001) — The BMJ
- Measuring inconsistency in meta-analyses (Higgins et al., 2003) — The BMJ
- Meta-analysis in clinical trials (DerSimonian and Laird, 1986) — Controlled Clinical Trials
- dat.bcg: Studies on the effectiveness of the BCG vaccine against tuberculosis — metadat(R 套件說明文件)