1. 背景介紹
關于繪制臨床研究報告中亞組分析的森林圖,我過去幾乎試過了所有可能的工具,最早用繪制meta分析森林圖的方法繪制臨床研究亞組分析森林圖,使用過Stata,RevMan,甚至用過Excel......雖然這些工具都能畫,但操作繁瑣,往往還需要借助其他工具進一步修改圖形。當然,如果精通SAS,畫個森林圖應該是小菜一碟,很多頂級雜志也是采用SAS制作亞組分析森林圖,但SAS畢竟是統(tǒng)計分析工具中的貴族,會的人不多,筆者也沒有系統(tǒng)學習過SAS繪圖,最終我還是把解決問題的目光投向了R。自從我使用了R語言的forestplot包,以前那些畫亞組分析森林圖的方法統(tǒng)統(tǒng)摒棄,畫亞組分析森林圖,唯R獨尊。
2. 案例分析
下面我們就以發(fā)表在新英格蘭雜志上的一篇文章中的亞組分析森林圖為例[1],用R語言的forestplot包還原這個森林圖,下圖1.為原文的FIG.1 D圖。作者首先在所有入組人群中比較了試驗組(阿比特龍+潑尼松)與對照組(單用潑尼松)在總生存率Overall Survival的差異,并計算了HR及95%可信區(qū)間,然后又按照多種因素從總人群中取子集,在子集中進一步比較試驗組與對照組 Overall Survival 的差異,這就是我們常說的所謂亞組分析。雖然筆者對這些亞組分析的結果持謹慎態(tài)度,但亞組分析結果作為一種觀察性結果還是具有一定參考價值。此外,我們不得不承認這幅圖畫的真的很好,清晰明了,可以直觀的觀察到在某些亞組人群中試驗組的獲益更大。下面我們就以這幅圖的例子來演示下如何復制一幅相同的圖出來。
圖1. 為原文的FIG.1 D圖。

首先,我們需要從這幅圖里還原原始數(shù)據(jù)并整理入Excel中,并另存為“abiraterone.csv”,整理后的數(shù)據(jù)如下圖2.所示。注意:下圖數(shù)據(jù)還原的形式很重要,數(shù)據(jù)只有按照我們這種方式整理才能繪制出合格的圖形,這一點一定要嚴格遵守。
圖2. 還原圖中的數(shù)據(jù)并整理成固定格式。前四列均為字符串形式,后三列分別是:HR值的點估計、95%可信區(qū)間下限、上限,均為數(shù)值型變量。當數(shù)據(jù)導入R語言,最后三列空格處會自動填充為NA,表示缺失。

3. R語言代碼及代碼解讀
install.packages("forestplot")
library(forestplot)
rs_forest <- read.csv('abiraterone.csv',header = FALSE)
# 讀入數(shù)據(jù)的時候一定要把header設置成FALSE,確保第一行不被當作列名稱。
tiff('Figure 1.tiff',height = 6000,width = 7000,res= 600)
forestplot(labeltext = as.matrix(rs_forest[,1:4]),
#設置用于文本展示的列,此處我們用數(shù)據(jù)的前四列作為文本,在圖中展示
mean = rs_forest$V5, #設置均值
lower = rs_forest$V6, #設置均值的lowlimits限
upper = rs_forest$V7, #設置均值的uplimits限
is.summary=c(T,T,T,F,F,T,F,F,T,F,F,T,F,F,F,T,F,F,T,F,F,T,F,F,T,F,F),
#該參數(shù)接受一個邏輯向量,用于定義數(shù)據(jù)中每一行是否是匯總值,若是,則在對應位置設置為TRUE,若否,則設置為FALSE;設置為TRUE的行則以粗體出現(xiàn)
zero = 1, #設置參照值,此處我們展示的是HR值,故參照值是1,而不是0
boxsize = 0.4, #設置點估計的方形大小
lineheight = unit(8,'mm'),#設置圖形中的行距
colgap = unit(2,'mm'),#設置圖形中的列間距
lwd.zero = 2,#設置參考線的粗細
lwd.ci = 2,#設置區(qū)間估計線的粗細
col=fpColors(box='#458B00',summary="#8B008B",lines = 'black',zero = '#7AC5CD'),
#使用fpColors()函數(shù)定義圖形元素的顏色,從左至右分別對應點估計方形,匯總值,區(qū)間估計線,參考線
xlab="The estimates",#設置x軸標簽
lwd.xaxis=2,#設置X軸線的粗細
lty.ci = "solid",
graph.pos = 4)#設置森林圖的位置,此處設置為4,則出現(xiàn)在第四列
最后得亞組分析森林圖如下圖3.所示

圖3. 還原的亞組分析森林圖。
至此,可以獲得一張直接用于投稿的展示亞組分析結果的圖形,美觀,簡潔,清晰、明了。如果我們以矢量圖的形式導出,可以通過矢量圖的編輯軟件進一步修改美化,當然以這幅圖目前的顏值用于投稿已經(jīng)綽綽有余了。以上雕蟲小技,希望對大家有用。
4. 參考文獻
[1].Abiraterone in Metastatic Prostate Cancer without Previous Chemotherapy. N Engl J Med.?2013 Jan 10;368(2):138-48.
[2].張鐵軍 陳興棟 劉振球 著,《R語言與醫(yī)學統(tǒng)計圖形》, 人民衛(wèi)生出版社, 2018.