技术文章:用R语言中的forestplot包绘制森林图的用法
在Meta分析中森林图比较常见,但其实掌握了用R语言中的forestplot包绘制森林图的各个用法,森林图可以用于表示其他数据类型各组间的指标的中值和四分位距的范围。它是在平面直角坐标系中,以一条垂直的无效线(横坐标刻度为1或0)为中心,平行于横轴的多条线段描述了每个组的指标的中值和可信区间,最后一行(Summary)则用棱形(或其它图形)描述了多个组别合并的效应量及可信区间。
首先安装forestplot 包:
install.packages("forestplot")
主函数 forestplot :
用法:
forestplot(labeltext, mean, lower, upper, align, is.summary = FALSE, graph.pos = "right", hrzl_lines, clip = c(-Inf, Inf), xlab = "", zero = ifelse(xlog, 1, 0), graphwidth = "auto", colgap, lineheight = "auto", line.margin, col = fpColors(), txt_gp = fpTxtGp(), xlog = FALSE, xticks, xticks.digits = 2, grid = FALSE, lwd.xaxis, lwd.zero, lwd.ci, lty.ci = 1, ci.vertices, ci.vertices.height = 0.1, boxsize, mar = unit(rep(5, times = 4), "mm"), title, legend, legend_args = fpLegend(), new_page = getOption("forestplot_new_page", TRUE), fn.ci_norm = fpDrawNormalCI, fn.ci_sum = fpDrawSummaryCI, fn.legend, ...)
参数:这里只列出了大部分参数,还有一些比较不常用的可以自行探索
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指的颜色。clipx轴的最大最小范围xlabx轴的标题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.xaxisX轴线宽lwd.zero无效线的宽度lwd.ci置信区间线条的宽度(粗细)lty.ci置信区间的线条类型ci.vertices森林图可信区间两端添加小竖线(TRUE)ci.vertices.height设置森林图可信区间两端的小竖线高度,默认是10%行高boxsizebox(点估计值)的大小mar图形页边距,如:mar=unit(rep(1.25, times = 4), "cm")title添加标题legend当同时显示多个置信区间时,需要添加图例
new_page
是否新页fn.ci_normbox(点估计值)的形状,默认是方块。如:fn.ci_norm="fpDrawDiamondCI":box 类型选择钻石
示例代码①:先从构建的最简单的数据开始
# 构建示例数据
library(forestplot)# Cochrane data from the 'rmeta'-packagecochrane_from_rmeta <- structure(list( mean =c(NA, NA, 0.578, 0.165, 0.246, 0.700, 0.348, 0.139, 1.017, NA, 0.531), lower =c(NA, NA, 0.372, 0.018, 0.072, 0.333, 0.083, 0.016, 0.365, NA, 0.386), upper =c(NA, NA, 0.898, 1.517, 0.833, 1.474, 1.455, 1.209, 2.831, NA, 0.731)), .Names =c("mean", "lower", "upper"), row.names =c(NA, -11L), class ="data.frame")
tabletext<-cbind(c("", "Study", "Auckland", "Block","Doran", "Gamsu", "Morrison", "Papageorgiou","Tauesch", NA, "Summary"),c("Deaths", "(steroid)", "36", "1","4", "14", "3", "1","8", NA, NA),c("Deaths", "(placebo)", "60", "5","11", "20", "7", "7","10", NA, NA),c("", "OR", "0.58", "0.16","0.25", "0.70", "0.35", "0.14","1.02", NA, "0.53"))
以下使用 forestplot 函数画森林图,注意查看每个代码发生变化的参数以及对应图片中明显变化的地方。
forestplot(tabletext, graph.pos =4, hrzl_lines =list("3"=gpar(lty=2), "11" =gpar(lwd=1, columns=c(1:3,5), col ="#000044"), "12" =gpar(lwd=1, lty=2, columns=c(1:3,5), col ="#000044")), cochrane_from_rmeta,new_page =TRUE, is.summary=c(TRUE,TRUE,rep(FALSE,8),TRUE), clip=c(0.1,2.5), xlog=TRUE, col=fpColors(box="royalblue",line="darkblue",summary="royalblue",hrz_lines ="#444444"))
forestplot(tabletext, graph.pos =4, hrzl_lines =list("3"=gpar(lty=2,col ="red"), "11" =gpar(lwd=1, columns=c(1:3,5), col ="#000044"), "12" =gpar(lwd=1, lty=2, columns=c(1:3,5), col ="#000044")), cochrane_from_rmeta,new_page =TRUE, is.summary=c(TRUE,TRUE,rep(FALSE,8),TRUE), clip=c(0.1,2.5), xlog=TRUE, col=fpColors(box="royalblue",line="darkblue",summary="royalblue",hrz_lines ="#444444"))
图片新闻
最新活动更多
-
即日-11.30免费预约申请>>> 燧石技术-红外热成像系列产品试用活动
-
11月30日立即试用>> 【有奖试用】爱德克IDEC-九大王牌安全产品
-
即日-12.26火热报名中>> OFweek2024中国智造CIO在线峰会
-
即日-0120限时下载>>> 爱德克(IDEC)设备及工业现场安全解决方案
-
限时免费下载立即下载 >>> 2024“机器人+”行业应用创新发展蓝皮书
-
即日-2025.8.1立即下载>> 《2024智能制造产业高端化、智能化、绿色化发展蓝皮书》
推荐专题
- 1 同源共创 模式革新 | 华天软件皇冠CAD(CrownCAD)2025新品发布会圆满举行
- 2 上海国际嵌入式展暨大会(embedded world China )与多家国际知名项目达成合作
- 3 iEi威强电新品丨IMBA-AM5:工业计算的强劲引擎
- 4 史上首次,大众终于熬不住开启40亿降本计划!关3个工厂,裁员万名...
- 5 守护绿色学习空间,EK超低温热泵服务对外经济贸易大学图书馆
- 6 颜值高 有“门”道|贝特威汽车门板内饰AI视觉检测解决方案
- 7 观众登记启动 优解制造未来,锁定2025 ITES深圳工业展
- 8 3大场景解读 | 红外热像仪赋能科研智造创新应用
- 9 揭秘:「全球知名跨境电商」构建核心竞争力的“独门绝技”是?
- 10 这个双十一,买iEi威强电就“购”了!
发表评论
请输入评论内容...
请输入评论/评论长度6~500个字
暂无评论
暂无评论