R语言Duncan检验

Duncan检验

在生信分析中常见的检验方法是t.test,kruskal.test和 wilcox.test这三种。
本篇要介绍的是Duncan法,是多重检验的一种。

导入数据

library(agridat)#利用devtools下载github上的数据
library(dplyr)
library(tidyr)
library(“ggplot2”)
data(lasrosas.corn)
#查看数据
data <- lasrosas.corn
data
在这里插入图片描述

#上图的数据不便于观看,用str()函数便于阅读
str(data)#可以看到Factor有三种分别是topo,rep,nf这三种
在这里插入图片描述
#单因素方差分析(anova)[这里只选择了nf这个因素]
m1 = aov(yield ~ nf, data=data)
summary(m1)
在这里插入图片描述
#Pr(>F)这里的值可以看到得到的结果是极其显著的,可以进行后的多重检验。这里有一个小特点就是多重检验是要在差异显著的情况下做,不然无意义。
#Duncan多重比较并可视化
library(multcomp)#加载相关的包
dc = duncan.test(m1,“nf”, alpha = 0.05)
#结果图,观察groups那一部分,字母一样的组说明这两个组是差异不显著的。
在这里插入图片描述
#计算sd
#yield ~ nf
b=aggregate(data y i e l d , l i s t ( d a t a yield, list(data yield,list(datanf),sd)
b
在这里插入图片描述
#合并上面dc里面的groups和d的数据,根据nf来进行合并,这里用到了管道符(这里有特殊符号,放代码不行,就图片表示)
在这里插入图片描述
dc1
在这里插入图片描述

#数据类型转换(这里的数据类型是list,对后面的画图是无法读取的,所以转换一下),根据上面的数据可以看出转换的数据是第一列和第四列
dc1[,c(1)] <- as.numeric(unlist(dc1[,c(1)]))
dc1[,c(4)] <- as.numeric(unlist(dc1[,c(4)]))
#画图
p1 = dc1 %>% ggplot(aes(x=nf,y=yield,fill = yield)) + geom_col(width=.4)+scale_fill_viridis_c(
option = “plasma”)+
geom_errorbar(aes(ymax = yield + sd, ymin = yield - sd),width = .1,size = .5)+
geom_text(aes(label = groups, y=yield + sd +2))+
theme(panel.grid = element_blank(), panel.background = element_rect(color = “black”,fill = “transparent”))+
labs(x = “Groups”, y = “yield结果”,title = “duncan多重比较”)+ scale_color_gradient(low = “cyan”,high = “red”)
p1
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/whiteof/article/details/125446982