R语言森林图绘制-forestplot

####森林图绘制 forestplot

#### A practice for forest plot

##set your working directory

workdir <- "D:/R"

setwd(workdir)

datafile <- file.path(workdir,"ForestPlotData.csv")

data <- read.csv(datafile, stringsAsFactors=FALSE)

data[1:5,1:5]

##  定义亚组

subgps <- c(4,5,8,9,12,13,16,17,20,21,24,25,28,29,32,33)

data$Variable[subgps] <- paste("  ",data$Variable[subgps])

## Combine the count and percent column,以括号相连

np <- ifelse(!is.na(data$Count), paste(data$Count," (",data$Percent,")",sep=""), NA)

## The rest of the columns in the table.

tabletext <- cbind(c("Subgroup","\n",data$Variable),

                  c("No. of Patients (%)","\n",np),

                  c("4-Yr Cum. Event Rate\n PCI","\n",data$PCI.Group),

                  c("4-Yr Cum. Event Rate\n Medical Therapy","\n",data$Medical.Therapy.Group),

                  c("P Value","\n",data$P.Value))

##

library(forestplot)

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

forestplot(labeltext=tabletext, graph.pos=3,

          mean=c(NA,NA,data$Point.Estimate),

          lower=c(NA,NA,data$Low), upper=c(NA,NA,data$High),

          title="Hazard Ratio",

          ##定义x轴

          xlab="    <---PCI Better---    ---Medical Therapy Better--->",

          ##设置透明条位置

          hrzl_lines=list("3" = gpar(lwd=1, col="#99999922"),

                          "7" = gpar(lwd=60, lineend="butt", columns=c(2:6), col="#99999922"),

                          "15" = gpar(lwd=60, lineend="butt", columns=c(2:6), col="#99999922"),

                          "23" = gpar(lwd=60, lineend="butt", columns=c(2:6), col="#99999922"),

                          "31" = gpar(lwd=60, lineend="butt", columns=c(2:6), col="#99999922")),

          txt_gp=fpTxtGp(label=gpar(cex=1.25),

                          ticks=gpar(cex=1.1),

                          xlab=gpar(cex = 1.2),

                          title=gpar(cex = 1.2)),

          ##线条颜色设置

          col=fpColors(box="#1c61b6", lines="#1c61b6", zero = "gray50"),

          zero=1, cex=0.9, lineheight = "auto", boxsize=0.5, colgap=unit(6,"mm"),

          lwd.ci=2, ci.vertices=TRUE, ci.vertices.height = 0.4)

dev.off()


R语言森林图绘制-forestplot_第1张图片

#### 参考资料https://www.r-bloggers.com/forest-plot-with-horizontal-bands/

####广而告之

说一个事,鉴于平台在信息传播方面有不足之处,应粉丝要求,白介素2的个人微信平台已经开启,继续聊临床与科研的故事,R语言,数据挖掘,文献阅读等内容。当然也不要期望过高,微信平台目前的定位是作为自己的读书笔记,如果对大家有帮助最好。如果感兴趣, 可以扫码关注下。

![qrcode_for_gh_9eaa04438675_258.jpg](https://upload-images.jianshu.io/upload_images/15721061-115d3581833d931d.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

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