zoukankan      html  css  js  c++  java
  • 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函数画误差棒
    

    效果图如下:

      

  • 相关阅读:
    hdu1238 Substrings
    CCF试题:高速公路(Targin)
    hdu 1269 迷宫城堡(Targin算法)
    hdu 1253 胜利大逃亡
    NYOJ 55 懒省事的小明
    HDU 1024 Max Sum Plus Plus
    HDU 1087 Super Jumping! Jumping! Jumping!
    HDU 1257 最少拦截系统
    HDU 1069 Monkey and Banana
    HDU 1104 Remainder
  • 原文地址:https://www.cnblogs.com/chenwenyan/p/6297416.html
Copyright © 2011-2022 走看看