⽤R语⾔的forestplot包画亚组分析森林图
悲惨世界 影音
1. 背景介绍
关于绘制临床研究报告中亚组分析的森林图,我过去⼏乎试过了所有可能的⼯具,最早⽤绘制meta分析森林图的⽅法绘制临床研究亚组分析森林图,使⽤过Stata,RevMan,甚⾄⽤过虽然这些⼯具都能画,但操作繁琐,往往还需要借助其他⼯具进⼀步修改图形。当然,如果精通SAS,画个森林图应该是⼩菜⼀碟,很多顶级杂志也是采⽤SAS制作亚组分析森林图,但SAS毕竟是统计分析⼯具中的贵族,会的⼈不多,笔者也没有系统学习过SAS绘图,最终我还是把解决问题的⽬光投向了R。⾃从我使⽤了R语⾔的forestplot包,以前那些画亚组分析森林图的⽅法统统摒弃,画亚组分析森林图,唯R独尊。
lmq
2. 案例分析
下⾯我们就以发表在新英格兰杂志上的⼀篇⽂章中的亚组分析森林图为例[1],⽤R语⾔的forestplot包还原这个森林图,下图1.为原⽂的FIG.1 D 图。作者⾸先在所有⼊组⼈群中⽐较了试验组(阿⽐特龙+泼尼松)与对照组(单⽤泼尼松)在总⽣存率Overall Survival的差异,并计算了HR及95%可信区间,然后⼜按照多种因素从总⼈群中取⼦集,在⼦集中进⼀步⽐较试验组与对照组 Overall Survival 的差异,这就是我们常说的所谓亚组分析。虽然笔者对这些亚组分析的结果持谨慎态度,但亚组分析结果作为⼀种观察性结果还是具有⼀定参考价值。此外,我们不得不承认这幅图画的真的很好,清晰明了,可以直观的观
察到在某些亚组⼈群中试验组的获益更⼤。下⾯我们就以这幅图的例⼦来演⽰下如何复制⼀幅相同的图出来。todou
⽤R语⾔的forestplot包画亚组分析森林图
图1. 为原⽂的FIG.1 D图。
觇标
⾸先,我们需要从这幅图⾥还原原始数据并整理⼊Excel中,并另存为“abiraterone.csv”,整理后的数据如下图2.所⽰。注意:下图数据还原的形式很重要,数据只有按照我们这种⽅式整理才能绘制出合格的图形,这⼀点⼀定要严格遵守。
⽤R语⾔的forestplot包画亚组分析森林图
图2. 还原图中的数据并整理成固定格式。前四列均为字符串形式,后三列分别是:HR值的点估计、95%可信区间下限、上限,均为数值型变量。当数据导⼊R语⾔,最后三列空格处会⾃动填充为NA,表⽰缺失。
3. R语⾔代码及代码解读
<pre class="prettyprint linenums prettyprinted" >
1. install.packages("forestplot")
2. library(forestplot)
3. rs_forest <- read.csv('abiraterone.csv',header = FALSE)
4. 读⼊数据的时候⼀定要把header设置成FALSE,确保第⼀⾏不被当作列名称。
5. tiff('Figure 1.tiff',height = 6000,width = 7000,res= 600)2020高考英语试题及答案
6. forestplot(labeltext = as.matrix(rs_forest[,1:4]),
7. 设置⽤于⽂本展⽰的列,此处我们⽤数据的前四列作为⽂本,在图中展⽰
8. mean = rs_forest$V5, #设置均值
9. lower = rs_forest$V6, #设置均值的lowlimits限
10. upper = rs_forest$V7, #设置均值的uplimits限
11. 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),
12. 该参数接受⼀个逻辑向量,⽤于定义数据中每⼀⾏是否是汇总值,若
是,则在对应位置设置为TRUE,若否,则设置为FALSE;设置为TRUE的⾏则以粗体出现
13. zero = 1, #设置参照值,此处我们展⽰的是HR值,故参照值是1,⽽不是0
14. boxsize = 0.4, #设置点估计的⽅形⼤⼩
15. lineheight = unit(8,'mm'),#设置图形中的⾏距
16. colgap = unit(2,'mm'),#设置图形中的列间距
深圳礼仪培训17. = 2,#设置参考线的粗细
18. lwd.ci = 2,#设置区间估计线的粗细
19. col=fpColors(box='#458B00',summary="#8B008B",lines = 'black',zero = '#7AC5CD'),
20. 使⽤fpColors()函数定义图形元素的颜⾊,从左⾄右分别对应点估计
alipay curity control⽅形,汇总值,区间估计线,参考线
21. xlab="The estimates",#设置x轴标签
22. lwd.xaxis=2,#设置X轴线的粗细
23. lty.ci = "solid",
24. graph.pos = 4)#设置森林图的位置,此处设置为4,则出现在第四列
</pre>
最后得亚组分析森林图如下图3.所⽰
⽤R语⾔的forestplot包画亚组分析森林图
图3. 还原的亚组分析森林图。
⾄此,可以获得⼀张直接⽤于投稿的展⽰亚组分析结果的图形,美观,简洁,清晰、明了。如果我们以⽮量图的形式导出,可以通过⽮量图的编辑软件进⼀步修改美化,当然以这幅图⽬前的颜值⽤于投稿已经绰绰有余了。以上雕⾍⼩技,希望对⼤家有⽤。fig
4. 参考⽂献
[1].Abiraterone in Metastatic Prostate Cancer without Previous Chemotherapy. N Engl J Med. 2013 Jan 10;368(2):138-48.
广州形象设计学校
[2].张铁军 陈兴栋 刘振球 著,《R语⾔与医学统计图形》, ⼈民卫⽣出版社, 2018.
参考
mistletoe什么意思
⽤R语⾔的forestplot包画亚组分析森林图 | Public Library of Bioinformatics (plob)