美文网首页Rgood code
R绘制箱图(Boxplot)

R绘制箱图(Boxplot)

作者: 欧阳松 | 来源:发表于2020-01-10 18:52 被阅读0次

    需要的文件格式

    制表符的txt、csv格式,Excel也可以,但需要加载xlxs

    install.packages("xlsx") #安装xlxs包
    

    读取目标表格

    group <-read.table("boxplot.txt",header = T) #header 表示需要表头
    
    1.png

    一、ggplot2作图 (复杂)

    • 给某一个基因作图,如ANKLE1
    library(ggplot2)
    #x轴是类型,Y轴是基因表达量
    ggplot(group, aes(type,ANKLE1,fill=type))+geom_boxplot()  #第一种简化代码 fill表示填充
    
    2.png
    ggplot(group, aes(type,ANKLE1,color=type))+geom_boxplot() #第二种简化代码 color表示空白颜色
    
    3.png
    ggplot(group, aes(type,ANKLE1,color=type))+geom_boxplot()+geom_jitter()  #第三种简化代码 加点
    
    4.png

    添加标准误

    ggplot(group, aes(type,ANKLE1,color=type))+stat_boxplot(geom = "errorbar")+geom_boxplot()+geom_jitter()  #第三种简化代码 加点
    
    #给两组添加显著性标记
    library(ggsignif) #加载包
    ggplot(group,aes(type,ANKLE1,fill=type))+geom_boxplot()+geom_signif(comparisons = list(c("Normal","Tumor")))  #list 添加需要比较的组
    
    5.png
    • 给所有基因作图并分面显示

    首先进行数据转换,也就是把所有基因全部合并成一列

    library(tidyr)
    library(reshape2)
    mydata<-melt(group,                       #待转换的数据集名称
           id.vars=c("sample","primary_site","type"),  #要保留的主字段
           variable.name="Group",         #转换后的分类字段名称(维度)
           value.name="value"             #转换后的度量值名称
           )
    
    6.png
    所有基因作图并分面
    ggplot(mydata, aes(type,value,color=type)) #可以用color,也可以用fill
    +geom_boxplot() #作图
    +geom_jitter() #加点
    +facet_wrap(~Group, scales = "free") #分面,~后面接长数据表头,scales表示单独分面,如果不设置则默认所有数据按值一起分面
    +geom_signif(comparisons = list(c("Normal","Tumor"))) #显著性标记
    +theme_bw() #设置背景
    
    7.png

    二、ggpurb作图 (简单)

    ggboxplot(mydata,"type","value",color = "type",#记得有引号
    palette = "ncp",#有各种杂志风格,如“npg", "aaas", "lancet", "jco", "ucscgb", "uchicago", "simpsons" 和 "rickandmorty".
    add = "jitter",shape="type", #加点,按类型分不同的点
    facet.by = "Group",scale="free") #分面
    +stat_compare_means(method = "t.test") #加统计显著,括号里不填默认是非参数检验
    
    8.png
    ggboxplot(mydata,"type","value",color = "type",#记得有引号
    palette = "ncp",#有各种杂志风格,如“npg", "aaas", "lancet", "jco", "ucscgb", "uchicago", "simpsons" 和 "rickandmorty".
    add = "jitter",shape="type", #加点,按类型分不同的点
    facet.by = "Group",scale="free") #分面
    +stat_compare_means() #加统计显著,括号里不填默认是非参数检验
    
    9.png

    相关文章

      网友评论

        本文标题:R绘制箱图(Boxplot)

        本文链接:https://www.haomeiwen.com/subject/lsdmactx.html