繪制森林圖(R)


#object: 繪制森林圖
#writer: mike
#time: 2020.10.13


#構造數據集

names <- c("a","b","c","d","e","f","g","h","l","m");
or <- c(0.9,2,0.3,0.4,0.5,1.3,2.5,1.6,1.9,1.1);
lower <- c(0.75,1.79,0.18,0.2,0.38,1.15,2.41,1.41,1.66,0.97);
upper <- c(1.05,2.11,0.42,0.6,0.62,1.45,2.59,1.79,2.14,1.23);
sample <- c(450,420,390,400,470,390,400,388,480,460);
factors <- c("risk","risk","protec","protec","protec","risk","risk","risk","risk","risk");

#構造數據框
data <- data.frame(names,or,lower,upper,sample,factors);

#載入包
library("ggplot2");

#顏色無法設置,顏色的設置不需要使用foctor()函數,但是必須使用col 而不是colors或者colours,注意這里一旦設置了顏色,就會和下面的塗層重合不到一起
#不知道為什么會這樣,好像是如果加上顏色之后,那么就要對后加的數據進行分類,並分配顏色。
p <- ggplot(data, aes(x=or, y=names));


#如果在point這里設置顏色,只會改變點的顏色,而上面會改變,與某一個數據有關的所有圖像的顏色
p <- p + geom_point(size=3.6) + geom_errorbarh(aes(xmax=upper, xmin=lower, height=0.3)) + scale_x_continuous(limits=c(0.1,5), breaks=seq(0,5,0.5)) + geom_vline(aes(xintercept=1)) + xlab("oddRatio") + ylab("")

#在圖形中加入標簽
#x坐標
lx <- c(rep(2.87,11));
#y坐標
ly <- c(11,10,9,8,7,6,5,4,3,2,1);

#標簽
llab <- c("p value","0.01","0.01","0.01","0.01","0.01","0.01","0.01","0.01","0.01","0.05");
#構建另一個數據框
data1 <- data.frame(lx,ly,llab);
p <- p + geom_text(data=data1, aes(x=lx,y=ly,label=llab))
p

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM