大家好,欢迎来到IT知识分享网。
前言
Tukey Test in R
背景不再赘述,例子是最好的解释,简而言之,在R语言中,multcompView
包通过 TukeyHSD()
函数实现了 Tukey 检验。它还提供了一个图表,显示每个组合的均值差异情况:
# 加载工具 library(multcompView) # 创建随机数据 set.seed(1) treatment <- rep(c("A", "B", "C", "D", "E"), each=20) value <- c( sample(2:5, 20 , replace=T) , sample(6:10, 20 , replace=T), sample(1:7, 20 , replace=T), sample(3:10, 20 , replace=T) , sample(10:20, 20 , replace=T) ) data <- data.frame(treatment,value) # treat对value的影响 model <- lm( data$value ~ data$treatment ) # 先做个ANOVA ANOVA <- aov(model) # 用 Tukey test 研究每对 treat 和 value TUKEY <- TukeyHSD(x=ANOVA, 'data$treatment', conf.level=0.95) # 可视化(下图) plot(TUKEY , las=1 , col="brown")
图怎么看?
注意看!图中有代表不同配对分组的 “横线” ,和一个在本坐标系中,值为 0 的竖直虚线,若代表配对儿分组的横线和虚线相交,那么,则认为分组中成分的均值没有差异,就是A和C、B和D均值没差异。(反正我是大概理解了……)
使用Boxplot(箱线图)展示 Tukey test 结果
# 把没有区别的组合放在一起 generate_label_df <- function(TUKEY, variable){
# Extract labels and factor levels from Tukey post-hoc Tukey.levels <- TUKEY[[variable]][,4] Tukey.labels <- data.frame(multcompLetters(Tukey.levels)['Letters']) #I need to put the labels in the same order as in the boxplot : Tukey.labels$treatment=rownames(Tukey.labels) Tukey.labels=Tukey.labels[order(Tukey.labels$treatment) , ] return(Tukey.labels) } LABELS <- generate_label_df(TUKEY , "data$treatment") # 每一组用相同的颜色 my_colors <- c( rgb(143,199,74,maxColorValue = 255), rgb(242,104,34,maxColorValue = 255), rgb(111,145,202,maxColorValue = 255) ) # 一个基本箱线图 a <- boxplot(data$value ~ data$treatment , ylim=c(min(data$value) , 1.1*max(data$value)) , col=my_colors[as.numeric(LABELS[,1])] , ylab="value" , main="") # 在每个box上边添加字母 over <- 0.1*max( a$stats[nrow(a$stats),] ) text( c(1:nlevels(data$treatment)) , a$stats[nrow(a$stats),]+over , LABELS[,1] , col=my_colors[as.numeric(LABELS[,1])] )
PS: Tukey test 也被称为 Tukey’s range test / Tukey method / Tukey’s honest significance test / Tukey’s HSD test / Tukey-Kramer method……名字有点多
简单实现步骤总结以及优缺点
实现:
Tukey检验的步骤如下:
- 执行方差分析(ANOVA)以确定组别间是否存在显著差异。
- 计算每个组别之间的平均差异(mean difference)。
- 使用Tukey公式计算一个名为Q统计量(Q statistic)的值。
- 将Q统计量与Tukey查表中的临界值进行比较,以确定哪些组别之间存在显著差异。通过执行Tukey检验,我们可以识别出具有不同均值的组别,并确定这些差异是否因随机变异而产生。
优点:
- Tukey检验允许进行多个组别之间的多重比较,使得在相同实验中同时比较多个组别成为可能。
- 它提供了简单的结果解释,可以指出哪些组别之间存在显著差异。
- 与其他多重比较方法相比,Tukey检验的错误控制较为保守,减少了误报显著性差异的可能性。
缺点:
- 在样本量较小的情况下,Tukey检验可能会产生较低的统计功效,即可能无法检测到真实存在的差异。
- 当组别之间的方差不均匀或相关时,Tukey检验的假设可能不成立,导致结果的解释存在限制。
- Tukey检验是基于均值差异的比较方法,对于其他统计指标(如中位数)可能不适用。
总之
Tukey检验是一种强大的多重比较方法,可以在实验设计和数据分析中揭示组别间的显著差异。然而,在应用时需要注意其适用性和局限性,并结合实际研究情况进行解释和判断。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/131659.html