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和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