失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > R语言绘制箱线图并添加相关显著性

R语言绘制箱线图并添加相关显著性

时间:2018-08-23 10:31:55

相关推荐

R语言绘制箱线图并添加相关显著性

箱线图(又称盒须图)通过绘制连续型变量的五数总括,即最小值、下四分位数(第25百分位数)、中位数(第50百分位数)、上四分位数(第75百分位数)以及最大值,描述了连续型变量 的分布。“它主要用于反映原始数据分布的特征,还可以进行多组数据分布特征的比较”。

一,建立正态随机分布的数据

在这里我先建立了几组满足正态随机分布的数据,主题是观察“在不同浓度的氮肥添加下,长脐红豆根系总长度的差异性”。(treatment=A、B、C、D,RL=根长)

设定A浓度氮肥添加下长脐红豆的根系总长度均值为72cm,SD为4,即A(mean=72,sd=4).

以此类推:B(mean=55,sd=3),C(mean=56,sd=5),D(mean=50,sd=4).

set.seed(1234)#设定种子数dataA=rnorm(n=30,mean=72,sd=4)#随机生成A组浓度30个数据,mean=72,sd=4dataB=rnorm(n=30,mean=55,sd=3)dataC=rnorm(n=30,mean=56,sd=5)dataD=rnorm(n=30,mean=50,sd=4)root<- data.frame(A=dataA,B=dataB,C=dataC,D=dataD)#以四组数据创建数据框root

二,绘制箱线图

使用tidyr程序包中的gather函数,将数据从宽数据转化为长数据,并使用ggplot2、ggpubr程序包中的函数进行数据分析和作图。(建议在学习的时候多看一下函数包的用法,并相应的模仿使用)

library(ggplot2) library(ggpubr)library(tidyr) root1 <- gather(root,key = 'treatment',value = "RL",A,B,C,D)#数据框架调整root1

ggpubr程序包中的compare_means():进行数据的一组或多组间的比较。

compare_means(RL~treatment, data=root1,method = "t.test")#见补充内容

绘制箱线图:

p1<-ggplot(root1,aes(x=treatment,y=RL,fill=treatment))+geom_boxplot()+scale_fill_manual(values=c("red","yellow","blue","green"))#以treatment组别为类别进行颜色填充p1

设定比较对象,并在原始箱线图上添加显著性分析和添加误差线。

comparisons_lists<-list(c("A", "B"), c("A", "C"), c("A", "D"),c("B", "C"),c("B", "D"),c("C", "D"))p2<-p1+stat_compare_means(comparisons=comparisons_lists,label="p.signif")+stat_boxplot(geom="errorbar",width=0.5)#见补充内容p2

添加一个标题

p2+labs(x='treatment',y='RL',title='不同氮肥浓度对长脐红豆根长的影响')+theme(plot.title = element_text(hjust = 0.5))#调整标题位置

R语言绘制箱线图并添加相关显著性的大致内容就这些,有很多其他调整图形的方法以及细节掌控,这里就不赘述了,各位可以去看Winston的《R Graphics Cookbook》,个人认为里面的内容是能让你学会R语言简单作图的。

三,补充内容

ggpubr包:compare_means()和stat_compare_means()

compare_means(formula,data,method = "wilcox.test",paired = FALSE,group.by = NULL,

ref.group = NULL,symnum.args = list(),p.adjust.method = "holm",...)

stat_compare_means(mapping = NULL, comparisons = NULL ,method.args = list(),hide.ns = FALSE,label = NULL, label.x = NULL, label.y = NULL, …)

这里有个重要的点是,在进行数据的方法比较时,要确定自己的数据状况,本文的数据是设定的符合参数检验的组别,通常进行自己的数据处理时,一定要分析数据是符合参数检验还是非参数检验,然后选定方法进行组别比较。

觉得有用可以点赞收藏哈~

如果觉得《R语言绘制箱线图并添加相关显著性》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。