美文网首页
R语言-柱形图模板

R语言-柱形图模板

作者: 科研小徐 | 来源:发表于2020-06-28 10:46 被阅读0次
    library(ggplot2)
    library(reshape2)
    library(ggthemr)
    library(ggsignif)
    
    WORD_SIZE="15"
    data=read.table("data.csv",sep=",",header = T,row.names = 1,check.names = F)
    pain=data[,c(1,2,3,4,5,13)]
    #对数据整合后计算均值与标准差aggregate(计算数值向量,by=list(分组折叠因子),计算函数)
    mean.pain=aggregate(pain[,c(1,2,3,4,5)],by=list(pain$手术方式),mean)
    sd.pain=aggregate(pain[,c(1,2,3,4,5)],by=list(pain$手术方式),sd)
    data2=rbind(mean.pain,sd.pain)
    colnames(data2)[1]=c("手术方式")
    data2[,1]=c("胸腔镜","机器人","胸腔镜","机器人")
    data3=melt(data2[c(1,2),])
    data4=melt(data2[c(3,4),])
    data5=cbind(data3,data4$value)
    colnames(data5)[2:4]=c("疼痛","均值","标准差")
    
    #做T检验
    t.test(pain$`8h`~手术方式,data = pain)
    t.test(pain$`12h`~手术方式,data = pain)
    t.test(pain$`24h`~手术方式,data = pain)
    t.test(pain$`48h`~手术方式,data = pain)
    t.test(pain$`72h`~手术方式,data = pain)
    ggthemr('fresh')
    
    #柱形图排序
    sub=factor(data5$手术方式,levels = c("胸腔镜","机器人"))
    
    ggplot(data5,aes(x=疼痛,y=均值,fill=sub))+   #fill填写排序
      geom_bar(stat="identity",position='dodge',width = 0.7)+
      ylim(0,10)+#设置y轴范围
      labs(x='疼痛', y='VAS评分', fill='手术方式')+
      theme(axis.text.x = element_text(size=WORD_SIZE),  # 设置x轴字体大小
            axis.text.y = element_text(size=WORD_SIZE), # 设置y轴字体大小
            axis.title.x = element_text(size=WORD_SIZE), # 设置x轴总标题字体大小,
            axis.title.y = element_text(size=WORD_SIZE),# 设置y轴总标题字体大小
            legend.title = element_text(size=WORD_SIZE),# 设置图例标题字体大小
            legend.text = element_text(size=WORD_SIZE)) + # 设置图例文字标签字体大小
      geom_errorbar(aes(ymin=均值-标准差, ymax=均值+标准差), 
                    width=0.2,color='black',
                    position=position_dodge(0.7))+#设置误差线分组间间距大小
      geom_signif(y_position=c(7.5), xmin=c(2.8), xmax=c(3.1),  # 设置显著性说明,y_position是误差线所在y轴位置,xmin和xmax是误差线在x轴位置,可传入多个值
                  annotation=c("*"), tip_length=0.1, size=0.8, textsize = 10,  # 显著性标识;显著性括号下延长度;大小设置;字体大小
                  vjust = 0.2) +# 调整显著性标识和显著性括号之间的距离
      theme(text = element_text(family='STXihei'))#显示中文
    
    输出

    相关文章

      网友评论

          本文标题:R语言-柱形图模板

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