原文:R語言 | forestplot包繪制森林圖
在Meta分析中森林圖比較常見,但其實(shí)掌握了用R語言中的forestplot包繪制森林圖的各個用法,森林圖可以用于表示其他數(shù)據(jù)類型各組間的指標(biāo)的中值和四分位距的范圍。它是在平面直角坐標(biāo)系中,以一條垂直的無效線(橫坐標(biāo)刻度為1或0)為中心,平行于橫軸的多條線段描述了每個組的指標(biāo)的中值和可信區(qū)間,最后一行(Summary)則用棱形(或其它圖形)描述了多個組別合并的效應(yīng)量及可信區(qū)間。
首先安裝forestplot 包:
install.packages("forestplot")
主函數(shù) forestplot :
用法:
forestplot(labeltext, mean, lower, upper, align,
參數(shù):這里只列出了大部分參數(shù),還有一些比較不常用的可以自行探索
| labeltext | 主要是以矩陣或者list形式將數(shù)據(jù)導(dǎo)入函數(shù),最好以矩陣,因?yàn)閿?shù)據(jù)一般都是矩陣的。 |
| mean | 誤差條的均值 |
| lower | 誤差條 95%置信區(qū)間下限 |
| upper | 誤差條 95%置信區(qū)間上限 |
| align | 每列文字的對齊方式,偶爾會用到。如:align=c("l","c","c")l:左對齊r:右對齊c:居中對齊 |
| is.summary | 主要的功能是讓表格的每一行字體出現(xiàn)差異,從而區(qū)分表頭。其值主要用TRUE/FALSE進(jìn)行差異化分配。 |
| graph.pos | 定位森林圖所在的位置。通過數(shù)字來確定為第幾列。 |
| hrzl_lines | 以list形式設(shè)置表中線條的類型、影響范圍。Eg:“3”=gpar(lwd=1,columns=1:4,col=’red’)意思就是第3行的線條,寬度為1,線段延伸至第四列。Col指的顏色。 |
| clip | x軸的最大最小范圍 |
| xlab | x軸的標(biāo)題 |
| zero | 森林圖中基準(zhǔn)線的位置(無效線的橫坐標(biāo)) |
| graphwidth | 森林圖在表中的寬度如:graphwidth = unit(.4,"npc") |
| colgap |
列與列之間的間隙寬度,默認(rèn)是 6 mm,需要用 unit 的形式
|
| lineheight | 行的高度,可以是數(shù)字,也可以是 unit 的形式 |
| line.margin | 行與行之間的間隙的寬度 |
| col | 森林圖橫線以及點(diǎn)的顏色。box:box(點(diǎn)估計值)的顏色line:穿過方塊的橫線的顏色zero:中間那條基準(zhǔn)線的顏色summary:summary中菱形的顏色hrz_lines:表中第一條橫線的顏色eg:col=fpcolors(box=’royblue’,line=’darkblue’, summary=’royblue’, hrz_lines=’red’) |
| txt_gp | 設(shè)置表格中文本的格式:用gpar進(jìn)行賦值,其中cex為文本字體大小,ticks為坐標(biāo)軸大小,xlab為坐標(biāo)軸文字字體大小。label:表格主體文字的格式ticks:森林圖下方的坐標(biāo)軸的刻度文字格式xlab:定義的x軸標(biāo)題格式title:標(biāo)題文字的格式eg:txt_gp=fpTxtGp(label=gpar(cex=1.25), ticks=gpar(cex=1.1), xlab=gpar(cex = 1.2), title=gpar(cex = 1.2)) |
| xticks | 橫坐標(biāo)刻度根據(jù)需要可隨意設(shè)置,如:xticks = c(0.5, 1,1.5, 2) |
| lwd.xaxis | X軸線寬 |
| lwd.zero | 無效線的寬度 |
| lwd.ci | 置信區(qū)間線條的寬度(粗細(xì)) |
| lty.ci | 置信區(qū)間的線條類型 |
| ci.vertices | 森林圖可信區(qū)間兩端添加小豎線(TRUE) |
| ci.vertices.height | 設(shè)置森林圖可信區(qū)間兩端的小豎線高度,默認(rèn)是10%行高 |
| boxsize | box(點(diǎn)估計值)的大小 |
| mar | 圖形頁邊距,如:mar=unit(rep(1.25, times = 4), "cm") |
| title | 添加標(biāo)題 |
| legend | 當(dāng)同時顯示多個置信區(qū)間時,需要添加圖例 |
|
new_page
| 是否新頁 |
| fn.ci_norm | box(點(diǎn)估計值)的形狀,默認(rèn)是方塊。如:fn.ci_norm="fpDrawDiamondCI":box 類型選擇鉆石 |
示例代碼①:先從構(gòu)建的最簡單的數(shù)據(jù)開始
構(gòu)建示例數(shù)據(jù)
library(forestplot)
tabletext<-cbind(
以下使用 forestplot 函數(shù)畫森林圖,注意查看每個代碼發(fā)生變化的參數(shù)以及對應(yīng)圖片中明顯變化的地方。
forestplot(tabletext, graph.pos =4,
forestplot(tabletext, graph.pos =4,
forestplot(tabletext, graph.pos =4,
forestplot(tabletext, graph.pos =4,
forestplot(tabletext, graph.pos =4,
forestplot(tabletext, graph.pos =4,
forestplot(tabletext, graph.pos =4,
forestplot(tabletext, graph.pos =4,

# 添加標(biāo)題

# 定義x軸

# 取消對頭2行和最后1行字體的特殊設(shè)置

示例代碼②:需要定義亞組的數(shù)據(jù)
準(zhǔn)備數(shù)據(jù)
library(forestplot)
繪制森林圖
簡單森林圖
# 構(gòu)建tabletext,更改列名稱,將 count 和 percent 合并

# 寫出將要在圖中展現(xiàn)出來的文本

##繪制森林圖

接下來要對森林圖進(jìn)行優(yōu)化:
## 定義亞組

png(filename = "Forestplot.png",width=960, height=640)

森林圖怎么看:
(1)森林圖中橫短線與中線相交表示無統(tǒng)計學(xué)意義;
(2)95% CI上下限均>1,即在森林圖中,其95% CI橫線不與無效豎線相交,且該橫線落在無效線右側(cè)時,說明該指標(biāo)大于豎線代表的結(jié)局;
(3)95% CI上下限均<1,即在森林圖中,其95% CI橫線不與無效豎線相交,且該橫線落在無效線左側(cè)時,說明該指標(biāo)小于于豎線代表的結(jié)局。
(4)最后以菱形所在位置代表總體的評價結(jié)果。





