原创r语言ggplot2误差棒图快速指南数据分析报告论文代码数据.docx

上传人:b****4 文档编号:11590943 上传时间:2023-03-19 格式:DOCX 页数:9 大小:254.87KB
下载 相关 举报
原创r语言ggplot2误差棒图快速指南数据分析报告论文代码数据.docx_第1页
第1页 / 共9页
原创r语言ggplot2误差棒图快速指南数据分析报告论文代码数据.docx_第2页
第2页 / 共9页
原创r语言ggplot2误差棒图快速指南数据分析报告论文代码数据.docx_第3页
第3页 / 共9页
原创r语言ggplot2误差棒图快速指南数据分析报告论文代码数据.docx_第4页
第4页 / 共9页
原创r语言ggplot2误差棒图快速指南数据分析报告论文代码数据.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

原创r语言ggplot2误差棒图快速指南数据分析报告论文代码数据.docx

《原创r语言ggplot2误差棒图快速指南数据分析报告论文代码数据.docx》由会员分享,可在线阅读,更多相关《原创r语言ggplot2误差棒图快速指南数据分析报告论文代码数据.docx(9页珍藏版)》请在冰豆网上搜索。

原创r语言ggplot2误差棒图快速指南数据分析报告论文代码数据.docx

原创r语言ggplot2误差棒图快速指南数据分析报告论文代码数据

r语言ggplot2误差棒图快速指南数据分析报告

来源:

给直方图和线图添加误差棒

准备数据

这里使用ToothGrowth数据集。

 

library(ggplot2)df<-ToothGrowthdf$dose<-as.factor(df$dose)head(df)##lensuppdose##14.2VC0.5##211.5VC0.5##37.3VC0.5##45.8VC0.5##56.4VC0.5##610.0VC0.5

len:

牙齿长度

dose:

剂量(0.5,1,2)单位是毫克

supp:

支持类型(VCorOJ)

在下面的例子中,我们将绘制每组中牙齿长度的均值。

标准差用来绘制图形中的误差棒。

首先,下面的帮助函数会用来计算每组中兴趣变量的均值和标准差:

#+++++++++++++++++++++++++#Functiontocalculatethemeanandthestandarddeviation#foreachgroup#+++++++++++++++++++++++++#data:

adataframe#varname:

thenameofacolumncontainingthevariable#tobesummariezed#groupnames:

vectorofcolumnnamestobeusedas#groupingvariablesdata_summary<-function(data,varname,groupnames){require(plyr)summary_func<-function(x,col){c(mean=mean(x[[col]],na.rm=TRUE),sd=sd(x[[col]],na.rm=TRUE))}data_sum<-ddply(data,groupnames,.fun=summary_func,varname)data_sum<-rename(data_sum,c("mean"=varname))return(data_sum)}

 

统计数据 

df2<-data_summary(ToothGrowth,varname="len",groupnames=c("supp","dose"))#把剂量转换为因子变量df2$dose=as.factor(df2$dose)head(df2)##suppdoselensd##1OJ0.513.234.459709##2OJ122.703.910953##3OJ226.062.655058##4VC0.57.982.746634##5VC116.772.515309##6VC226.144.797731有误差棒的直方图

函数 geom_errorbar()可以用来生成误差棒:

library(ggplot2)#Defaultbarplotp<-ggplot(df2,aes(x=dose,y=len,fill=supp))+geom_bar(stat="identity",color="black",position=position_dodge())+geom_errorbar(aes(ymin=len-sd,ymax=len+sd),width=.2,position=position_dodge(.9))print(p)#Finishedbarplotp+labs(title="Toothlengthperdose",x="Dose(mg)",y= "Length")+theme_classic()+scale_fill_manual(values=c('#999999','#E69F00'))

  

你可以选择只保留上方的误差棒:

#Keeponlyuppererrorbarsggplot(df2,aes(x=dose,y=len,fill=supp))+geom_bar(stat="identity",color="black",position=position_dodge())+geom_errorbar(aes(ymin=len,ymax=len+sd),width=.2,position=position_dodge(.9))

1

  

  

有误差棒的线图#Defaultlineplotp<-ggplot(df2,aes(x=dose,y=len,group=supp,color=supp))+geom_line()+geom_point()+geom_errorbar(aes(ymin=len-sd,ymax=len+sd),width=.2,position=position_dodge(0.05))print(p)#Finishedlineplotp+labs(title="Toothlengthperdose",x="Dose(mg)",y="Length")+theme_classic()+scale_color_manual(values=c('#999999','#E69F00'))

你也可以使用函数 geom_pointrange() 或 geom_linerange() 替换 geom_errorbar()

#Usegeom_pointrangeggplot(df2,aes(x=dose,y=len,group=supp,color=supp))+geom_pointrange(aes(ymin=len-sd,ymax=len+sd))#Usegeom_line()+geom_pointrange()ggplot(df2,aes(x=dose,y=len,group=supp,color=supp))+geom_line()+geom_pointrange(aes(ymin=len-sd,ymax=len+sd))

 

 

 

有均值和误差棒的点图

使用函数 geom_dotplot() and stat_summary() :

Themean+/-SDcanbeadded as acrossbar,aerrorbarorapointrange:

 

p<-ggplot(df,aes(x=dose,y=len))+geom_dotplot(binaxis='y',stackdir='center')#usegeom_crossbar()p+stat_summary(fun.data="mean_sdl",fun.args=list(mult=1),geom="crossbar",width=0.5)#Usegeom_errorbar()p+stat_summary(fun.data=mean_sdl,fun.args=list(mult=1),geom="errorbar",color="red",width=0.2)+stat_summary(fun.y=mean,geom="point",color="red")#Usegeom_pointrange()p+stat_summary(fun.data=mean_sdl,fun.args=list(mult=1),geom="pointrange",color="red")

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 财务管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1