R语言|绘制森林图
森林圖指的是對不同研究提出同一研究問題,用一系列軸來呈現轉換為同一統計量的研究結果。除了meta 分析外,森林圖還廣泛應用于觀察性研究和臨床試驗,例如風險分析/生存分析等結果。最大的優勢是簡單直觀地展示單一研究和匯總研究。今天小編就用forestplot包繪制森林圖,僅供參考哦~
代碼如下:
1.安裝并調用forestplot包
BiocManager::install("forestplot") library(forestplot)2.生成模擬數據,共5個模型
g1 <- rnorm(100, 8, 4) g2 <- rnorm(100, 6, 3) g3 <- rnorm(100, 7, 3.5) g4 <- rnorm(100, 9, 4.5) g5 <- rnorm(100, 5, 2.5) Data <- data.frame(g1=g1,g2=g2,g3=g3,g4=g4,g5=g5) head(Data)3.計算各個模型之間的15%分位數,中位數,85%分位數,同時保留兩位有效數字
Data_difference<-apply(Data(round(quantile(x,c(0.15,0.5,0.85)),digits=2))4.設置行名
rownames(Data_difference)<-c("down","median","up")5.各個模型間的比較
comparison_name <- c("g1 : g2","g1 : g3","g1 : g4", "g1 : g5","g2 : g3","g2 : g4","g2 : g5", "g3 : g4","g3 : g5","g4 : g5")6.誤差條的差值計算
median <- Data_t$median #差值的中值 ranges <- paste("(", Data_t$down, " ~ ", Data_t$up, ")", sep = "") #差值的四分距的范圍7.誤差條的顯示數據
Data_str<- data.frame(pairs_na=comparison_name,pairs_median=median,pairs_CI=ranges) Data_str <- as.matrix(Data_str) #類型轉為矩陣 Data_str <- rbind(c(NA,"Median","ranges"),Data_str) #第一行表示指標說明,NA表示不顯示8.數據可視化
forestplot(Data_str,#顯示的文本c(NA,Data_t$median), #誤差條的均值(此處為差值的中值)c(NA,Data_t$down), #誤差條的下界(此處為差值的15%分位數)c(NA,Data_t$up), #誤差條的上界(此處為差值的85%分位數)zero = 0,#顯示y=0的垂直線xlog=FALSE, #x軸的坐標不取對數grid = structure(c(-5, 5), gp = gpar(col = "steelblue", lty = 2)),#grid設置80%和120%的線條clip = c(1, 1.5),#設置坐標軸xticks = c(-8,-5,0,5,8),#X坐標軸的標度txt_gp = fpTxtGp(ticks = gpar(cex = 1), xlab = gpar(cex = 1.5), cex = 1.2),#文本大小設置boxsize = 0.3,#誤差條中的圓心點大小graph.pos = 2, # 控制圖形輸出再第幾列line.margin = 0.1,fn.ci_norm = fpDrawCircleCI,#誤差條中間圖形的形狀col=fpColors(line = "pink", #誤差條的線的顏色box="blue"), #誤差條的圓心點的顏色lty.ci = 7, # 誤差條的線的線型lwd.ci = 3, # 誤差條的線的寬度ci.vertices.height = 0.15# 誤差條末端的長度)以上就是關于森林圖的畫法分享啦!有如果對生信繪圖感興趣的小伙伴,可以搜索微信公眾號“作圖幫”或者添加“圖圖”的微信,圖圖期待你們的加入!
總結
- 上一篇: java语言的数组描述_下列关于java
- 下一篇: 编译CWM-recovery