R语言学习笔记

您所在的位置:网站首页 柱状图的显著性怎么做的 R语言学习笔记

R语言学习笔记

2024-04-21 19:07| 来源: 网络整理| 查看: 265

1.计算均值和方差(生成新列表)

这里,以前面单因素方差分析所用的数据为例:

利用aggregate( )函数计算均值和标准差(即误差线) ,方便后面绘制图形和标记显著性:

令aov.mean

令aov.sd

提取sd值:

将均值和sd值合并成一个数据数据框

aov

2.ggplot2包绘制图形

(1)添加误差线

这里使用geom_errorbar( )绘制带有误差棒的条形图(这里一定要注意position要与geom__bar( )保持一致,因为系统默认dodge是0.9,因此geom_errorbar( )里面position 需要设置0.9,width设置误差棒的大小)

library(ggplot2)

ggplot(data=aov,aes(x=Group.1, y=x))+geom_bar(stat="identity",position="dodge")+geom_errorbar(aes(ymax=x+sd,ymin=x-sd),position=position_dodge(0.9),width=0.15)+scale_fill_brewer(palette="Set1")

(2)添加显著性标记

如何在我们的误差线中添加显著性标记值呢(也就是dancan的标记字母法),其实是利用geom_text函数,也就是相当于在数据上添加文本,首先我们需要将想表的字母利用label函数 表达出起来:

第一步:利用aov函数进行单因素方法分析:数据集利用上方z

令fit

再利用agricolae包进行dancan检验:

install.packages("agricolae")

library(agricolae)

out

调用out结果中的groups 组:

将其和sd值结合起来:

利用data_frame函数合并后:

后利用arrange函数根据Group.1进行分类:

avo.order

我们发现没有什么变化,其实这个排序而是按首写字母顺序排序的,我们需要按照他本身的含义进行排序(5,4,1,7,6,3,2)进行排序:

这时候我们就需要增加一类数值型的,并按照此排列:

令m

然后利用arrange函数利用group组进行分类:

avo.order

然后利用ggplot包添加显著性标记(如下):

前面画的误差线图一样

p

然后利用geom_tex函数和label赋值进行标记:

label

ggsave("p.avo.tiff",p.avo,width=4,height=4.7)#输出高质量的图



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3