多重检验标字母 | R

两两比较显著性,虽然可以用ggpubr(可参考https://www.jianshu.com/p/f53a05da7745),可是分组一多起来就比较麻烦了,看着也很乱。用字母标注比较好。

在多重比较检验时需要根据数据特征选择参数或者非参数检验方法,简单说来就是服从正态分布的可以用参数检验方法如Tukey法或非参数检验方法如Wilcox法,不服从正态分布的则用非参数检验法如Wilcox法

如果比较的两组中有任何一组不服从正态分布,非官方建议:使用非参数检验方法。

首先说如何检验是否正态分布,并对服从正态分布的数据进行检验和画图

library(devtools)
remotes::install_github("taowenmicro/EasyStat")
library(EasyStat)
library(ggplot2)
library(dplyr)
library(ggsci) #配色

NorNorCVTest(data = data_wt, i= 6, method_cv = "leveneTest")[[1]]
#              No         Name         W    p.value norm.test
# 1            1           CF 0.8087115 0.07029506      Norm
# 2            2           CK 0.8087115 0.07029506      Norm
# 3            3          Rhi 0.9399859 0.65908550      Norm
# 4            4           WT 0.8087115 0.07029506      Norm
# 5 Test Method: Shapiro-Wilk        NA         NA      <NA>
#  可以看出各组均服从正态分布
# 作者这里检验正态性是调用了shapiro.test()函数,感兴趣的可以查看源码

result <- aovMcomper(data = data_wt, i= 6,method_Mc = "Tukey")
sig <- result[[1]]
sig
#     groups group
# CF      a     CF
# CK      a     CK
# Rhi      b   Rhi
# WT      a     WT

# 加上每个组别的平均值信息,方便后面字母标位置
fun_mean <- data_wt %>% group_by(group) %>% summarise(f_mean = mean(fun)) %>% as.data.frame()
fun_mean
#    group f_mean
# 1    CF  46500
# 2    CK  58500
# 3   Rhi 243000
# 4    WT  43000

label_data <- merge(sig, fun_mean)
label_data
#   group groups f_mean
# 1    CF     a   46500
# 2    CK     a   58500
# 3   Rhi      b 243000
# 4    WT     a   43000

ggplot(data_wt) + geom_boxplot(aes(x = group, y = fun, color = group)) + geom_text(data = label_data, aes(x = group, y = f_mean+ 40000, label = groups)) + scale_color_d3() + theme_classic() + xlab("") + theme(axis.title.y = element_text(face = "bold"), legend.title = element_blank())
image.png

另外再看一下这个用非参数检验结果如何

res <- KwWlx2(data = data_wt, i= 6)[[1]]
res
#     groups group
# Rhi      a   Rhi
# CK       b    CK
# CF      bc    CF
# WT       c    WT

# 这里KwWlx函数有点问题,统计检验和字母标记对不上,看了一下源码应该是ord_sig函数那里有问题,已提交issue。作者修复前不要用。
label2 <- merge(res, fun_mean)
label2
#   group groups f_mean
# 1    CF     bc  46500
# 2    CK      b  58500
# 3   Rhi      a 243000
# 4    WT      c  43000
ggplot(data_wt) + geom_boxplot(aes(x = group, y = fun, color = group)) + geom_text(data = label2, aes(x = group, y = f_mean+ 40000, label = groups)) + scale_color_d3() + theme_classic() + xlab("") + theme(axis.title.y = element_text(face = "bold"), legend.title = element_blank())
image.png

总体上和参数检验相似

然后我又自己编了一组数据,有不服从正态分布的

data_wt$new <- c(1,1,1,12,13,14,5,6,7,8,4,4,5,9,6,8,10,9,10,20,59,61,62,63)
NorNorCVTest(data = data_wt, i= 13, method_cv = "leveneTest")[[1]]
#             No         Name         W    p.value       norm.test
# 1            1           CF 0.7396239 0.01573710 Other_situation
# 2            2           CK 0.9199447 0.50496262            Norm
# 3            3          Rhi 0.9123751 0.45220542            Norm
# 4            4           WT 0.7283279 0.01212355 Other_situation
# 5 Test Method: Shapiro-Wilk        NA         NA            <NA>
res2 <- KwWlx2(data = data_wt, i = 13)[[1]]
res2
#     groups group
# WT       a    WT
# Rhi      b   Rhi
# CK       b    CK
# CF       b    CF
new_mean <- data_wt %>% group_by(group) %>% summarise(n_mean = mean(new)) %>% as.data.frame()
new_mean
#   group    n_mean
# 1    CF  7.000000
# 2    CK  5.666667
# 3   Rhi  7.833333
# 4    WT 45.833333
label3 <- merge(res2, new_mean)
label3
#   group groups    n_mean
# 1    CF      b  7.000000
# 2    CK      b  5.666667
# 3   Rhi      b  7.833333
# 4    WT      a 45.833333
ggplot(data_wt) + geom_boxplot(aes(x = group, y = new, color = group)) + geom_text(data = label3, aes(x = group, y = n_mean+ 20, label = groups)) + scale_color_d3() + theme_classic() + xlab("") + theme(axis.title.y = element_text(face = "bold"), legend.title = element_blank())
image.png

参考:https://www.guhejk.com/wordpress/?p=7051
https://mp.weixin.qq.com/s/Rqlr0WqutKCfdz7Ij2R2Lw
https://mp.weixin.qq.com/s/LV2W5aen9QSRcs4wB7MgDA
https://github.com/taowenmicro/EasyStat/issues/3

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 195,980评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,422评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,130评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,553评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,408评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,326评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,720评论 3 386
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,373评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,678评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,722评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,486评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,335评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,738评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,283评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,692评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,893评论 2 335

推荐阅读更多精彩内容

  • 什么是组间差异检验?就是组间的差异分析以及显著性检验,应用统计学上的假设检验方法,检验组间是否有差异及其差异程度。...
    周运来就是我阅读 293,238评论 5 272
  • 参数检验和非参数检验的区别: 期刊文献中常规数据的主流统计检验方法分为两种:以T检验、方差分析等为代表的参...
    ytbao阅读 4,019评论 0 10
  • 参数检验的前提是关于总体分布的假设成立,但很多情况下我们无法获得有关总体分布的相关信息。 非参数检验正是一类基于这...
    一剑破九州阅读 554评论 0 0
  • 前言 非参数检验(卡方检验),参数检验(F检验,T检验,Z检验),方差分析(ANOVA)非参数检验与参数检验区别:...
    denghb001阅读 750评论 0 2
  • 参数检验的前提是关于总体分布的假设成立,但很多情况下我们无法获得有关总体分布的相关信息。 非参数检验正是一类基于这...
    一剑破九州阅读 569评论 0 0