R語言畫棒狀圖(bar chart)和誤差棒(error bar)


假設我們現在有CC,CG,GG三種基因型及三種基因型對應的表型,我們現在想要畫出不同的基因型對應表型的棒狀圖及誤差棒。整個命令最重要的就是最后一句了,用arrows函數畫誤差棒。用到的R語言如下:

data<-read.csv("E:/model/data.csv",sep=" ",header=T)#導入數據data
mean_CC<-mean(data[,1])#計算CC基因型對應的表型的平均值
mean_GG<-mean(data[,2])
mean_GC<-mean(data[,3])
install.packages("plotrix")#安裝plotrix包計算標准誤
library("plotrix")
SE_CC<-std.error(data[,1])#計算CC基因型對應表型平均值的標准誤
SE_GG<-std.error(data[,2])
SE_GC<-std.error(data[,3])
density<-c(mean_CC,mean_GC,mean_GG)#畫分布圖
snp_name<-c("CC","GC","GG")
barCenters<-barplot(beside=T,density,snp_name,border="black",col=c("purple","green3","blue"),density=c(5,5,5),width=c(2,2,2),space=c(1.5,1.5,1.5),ylim=c(0,10))#beside:邏輯參數。如果FALSE,那么將繪畫堆疊式的條形;如果是TRUE,將繪畫並列式條形。space:表示棒狀圖直接的距離,ylim:表示Y軸的取值范圍
d<-data.frame(snp_name<-c("CC","GC","GG"),SE<-c(0.038,0.130,0.594),mean<-c(5.44,5.88,6.36))#創建一個基因型平均值及標准誤的數據框
title(xlab="Genotype",ylab="Density",main="Density in rs141626761",cex.lab=1.5,cex.main = 2.5, font.main= 2)#cex.lab坐標軸字體大小
arrows(barCenters,d$mean-d$SE*2,barCenters,d$mean+d$SE*2, length=0.05, angle=90, code=3)#用arrows函數畫誤差棒

效果圖如下:

  


免責聲明!

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



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