R语言 | forestplot包绘制森林图

原文:R语言 | forestplot包绘制森林图
在Meta分析中森林图比较常见,但其实掌握了用R语言中的forestplot包绘制森林图的各个用法,森林图可以用于表示其他数据类型各组间的指标的中值和四分位距的范围。它是在平面直角坐标系中,以一条垂直的无效线(横坐标刻度为1或0)为中心,平行于横轴的多条线段描述了每个组的指标的中值和可信区间,最后一行(Summary)则用棱形(或其它图形)描述了多个组别合并的效应量及可信区间。


首先安装forestplot 包:


install.packages("forestplot")

主函数 forestplot :


用法:

forestplot(labeltext, mean, lower, upper, align,

参数:这里只列出了大部分参数,还有一些比较不常用的可以自行探索

| labeltext | 主要是以矩阵或者list形式将数据导入函数,最好以矩阵,因为数据一般都是矩阵的。 |
| mean | 误差条的均值 |
| lower | 误差条 95%置信区间下限 |
| upper | 误差条 95%置信区间上限 |
| align | 每列文字的对齐方式,偶尔会用到。如:align=c("l","c","c")l:左对齐r:右对齐c:居中对齐 |
| is.summary | 主要的功能是让表格的每一行字体出现差异,从而区分表头。其值主要用TRUE/FALSE进行差异化分配。 |
| graph.pos | 定位森林图所在的位置。通过数字来确定为第几列。 |
| hrzl_lines | 以list形式设置表中线条的类型、影响范围。Eg:“3”=gpar(lwd=1,columns=1:4,col=’red’)意思就是第3行的线条,宽度为1,线段延伸至第四列。Col指的颜色。 |
| clip | x轴的最大最小范围 |
| xlab | x轴的标题 |
| zero | 森林图中基准线的位置(无效线的横坐标) |
| graphwidth | 森林图在表中的宽度如:graphwidth = unit(.4,"npc") |
| colgap |

列与列之间的间隙宽度,默认是 6 mm,需要用 unit 的形式

|
| lineheight | 行的高度,可以是数字,也可以是 unit 的形式 |
| line.margin | 行与行之间的间隙的宽度 |
| col | 森林图横线以及点的颜色。box:box(点估计值)的颜色line:穿过方块的横线的颜色zero:中间那条基准线的颜色summary:summary中菱形的颜色hrz_lines:表中第一条横线的颜色eg:col=fpcolors(box=’royblue’,line=’darkblue’, summary=’royblue’, hrz_lines=’red’) |
| txt_gp | 设置表格中文本的格式:用gpar进行赋值,其中cex为文本字体大小,ticks为坐标轴大小,xlab为坐标轴文字字体大小。label:表格主体文字的格式ticks:森林图下方的坐标轴的刻度文字格式xlab:定义的x轴标题格式title:标题文字的格式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 | 横坐标刻度根据需要可随意设置,如:xticks = c(0.5, 1,1.5, 2) |
| lwd.xaxis | X轴线宽 |
| lwd.zero | 无效线的宽度 |
| lwd.ci | 置信区间线条的宽度(粗细) |
| lty.ci | 置信区间的线条类型 |
| ci.vertices | 森林图可信区间两端添加小竖线(TRUE) |
| ci.vertices.height | 设置森林图可信区间两端的小竖线高度,默认是10%行高 |
| boxsize | box(点估计值)的大小 |
| mar | 图形页边距,如:mar=unit(rep(1.25, times = 4), "cm") |
| title | 添加标题 |
| legend | 当同时显示多个置信区间时,需要添加图例 |
|

new_page

| 是否新页 |
| fn.ci_norm | box(点估计值)的形状,默认是方块。如:fn.ci_norm="fpDrawDiamondCI":box 类型选择钻石 |


示例代码①:先从构建的最简单的数据开始


构建示例数据

library(forestplot)
R语言 | forestplot包绘制森林图_第1张图片
image
tabletext<-cbind(
R语言 | forestplot包绘制森林图_第2张图片
image

以下使用 forestplot 函数画森林图,注意查看每个代码发生变化的参数以及对应图片中明显变化的地方。

forestplot(tabletext, graph.pos =4, 
R语言 | forestplot包绘制森林图_第3张图片
image
forestplot(tabletext, graph.pos =4, 
R语言 | forestplot包绘制森林图_第4张图片
image
forestplot(tabletext, graph.pos =4, 
R语言 | forestplot包绘制森林图_第5张图片
image
forestplot(tabletext, graph.pos =4, 
R语言 | forestplot包绘制森林图_第6张图片
image
forestplot(tabletext, graph.pos =4, 
R语言 | forestplot包绘制森林图_第7张图片
image
forestplot(tabletext, graph.pos =4, 
R语言 | forestplot包绘制森林图_第8张图片
image
forestplot(tabletext, graph.pos =4, 
R语言 | forestplot包绘制森林图_第9张图片
image
forestplot(tabletext, graph.pos =4, 
R语言 | forestplot包绘制森林图_第10张图片
image
# 添加标题
R语言 | forestplot包绘制森林图_第11张图片
image
# 定义x轴
R语言 | forestplot包绘制森林图_第12张图片
image
# 取消对头2行和最后1行字体的特殊设置
R语言 | forestplot包绘制森林图_第13张图片
image

示例代码②:需要定义亚组的数据


准备数据

library(forestplot)

绘制森林图

简单森林图

# 构建tabletext,更改列名称,将 count 和 percent 合并
image
# 写出将要在图中展现出来的文本
R语言 | forestplot包绘制森林图_第14张图片
image
##绘制森林图
R语言 | forestplot包绘制森林图_第15张图片
image

接下来要对森林图进行优化:

## 定义亚组
R语言 | forestplot包绘制森林图_第16张图片
image
png(filename = "Forestplot.png",width=960, height=640)
R语言 | forestplot包绘制森林图_第17张图片
image

森林图怎么看:


(1)森林图中横短线与中线相交表示无统计学意义;

(2)95% CI上下限均>1,即在森林图中,其95% CI横线不与无效竖线相交,且该横线落在无效线右侧时,说明该指标大于竖线代表的结局;

(3)95% CI上下限均<1,即在森林图中,其95% CI横线不与无效竖线相交,且该横线落在无效线左侧时,说明该指标小于于竖线代表的结局。

(4)最后以菱形所在位置代表总体的评价结果。具体数据具体分析哈!

你可能感兴趣的:(R语言 | forestplot包绘制森林图)