R语言绘制森林图
看了一下網上,大概有三種方法
第一種:最麻煩,先用Excel畫左邊,然后用ps加右邊,非常麻煩;
第二種:用現成的生信工具,貌似最方便,但是數據錄入的格式和我手上的格式不一樣,輸出格式也是無法自定義,而且文章還沒發表,擔心數據傳到網上會有泄露的風險;
第三種:用編程實現,應該比較靠譜,有R,有python,按理我應該用后者,但是現成的例子大多數是R的,雖然沒造過,但應該不麻煩
3.1:用survminer包,該包是生物信息學中畫圖最常用的包,包含函數ggforest,就是我們要用的森林圖函數。這個貌似需要元素數據統計成一個model再玩
3.2:forestplot,可以用結果直接畫,就選它。
參考這里:http://www.sci666.net/48223.html
官方https://cran.r-project.org/web/packages/forestplot/forestplot.pdf
準備工作
下載R,安裝
https://cran.r-project.org/
Windows版本,不大80多M
貌似界面不友好,順便下一個RStudio,安裝
打開R,運行這個
install.packages(“forestplot”)
第一次要裝這個玩意。
數據在excel里面
install.packages(“xlsx”)
發現報錯
運行
install.packages(“rJava”)
install.packages(“xlsxjars”)
install.packages(“xlsx”)
然后發現需要JDK
百度安裝64位版本
實操代碼
#一個是畫森林圖的包,一個是加載excel的包 library(forestplot) library(xlsx)#這里標題行不加進來 fdata <- read.xlsx2("D:/Article/forestfinal.xlsx",1,header = FALSE) head(fdata)attach(fdata) #繪制森林圖 # value <- 1 # result <- format(value, nsmall = 1) # print(result) forestplot(labeltext=as.matrix(fdata[,1:4]),#共有4列額外文本要顯示graph.pos=3,#設置圖出現在第幾列mean=as.numeric(fdata$X5),#這里的列名務必要和加載后的列名一樣,因為沒有表頭,有很多例子用的V5#如果統計結果里面沒有均值,那么可以自己算:lower+(upper-lower)/2lower=as.numeric(fdata$X6),#這里要轉一下類型upper=as.numeric(fdata$X7),is.summary = c(T,T,F,F,T,F,F,T,F,F,T,F,F,T,F,F,T,F,F,F),#對于匯總行設置為T,則加粗顯示,注意這里標題行算第一行xticks=c(0.5,1.0,2.0,4.0,8.0),#設置X軸刻度線xticks.digitals = 3,#未解決,不能設置顯示小數,例如8.0zero = 1,#參考線豎線的x坐標lwd.zero = 2,#參考線豎線粗細lineheight = unit(10,'mm'),#設置行間距,避免標題兩行字重合ci.vertices = TRUE,#設置顯示置信區間兩端的兩個小豎線col=fpColors(box="black",line="black")#設置方塊和置信橫線的顏色)有沒有人知道如何設置X軸顯示小數點?
總結
- 上一篇: UDT 调试
- 下一篇: SocksCap64全局代理设置