美文网首页
多重检验标字母 | R

多重检验标字母 | R

作者: kkkkkkang | 来源:发表于2024-05-09 20:56 被阅读0次

两两比较显著性,虽然可以用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

相关文章

  • 常用手机号码及密码验证

    检测是否是手机号码 检验是否含有大写字母 检验是否含有小写字母 检验是否含有数字 检验是否含有特殊字符 检验密码长...

  • 多重检验

    https://blog.csdn.net/shengchaohua163/article/details/867...

  • 多重检验——FWER,FDR,FCR

    在A/B实验设计——如何避免多重检验错误中,介绍了什么是多重检验,并且介绍了Bonferroni correcti...

  • 字母R

    第十八個出場的是字母 R。 R 爸爸跟P爸爸長得很像,都有個超級大的頭。 不過 R 爸爸非常愛運動,而且他最愛跑步...

  • R语言-相关性检验及线性拟合

    相关性检验 相关性检验R=1时为完全正相关。R=-1为完全负相关。R=0为正态分布 斜率与R值无关 相关性检验co...

  • Vivi亲子思维导图之自然拼读:辅音R和辅音S

    字母R 字母S 自然拼读各字母详细讲解请关注↓

  • 多重检验校正

    在浅探富集分析中的超几何分布中我们谈到了通过p值大小来确定富集到的基因的显著性,但是p值终归是人定的,我们不能说定...

  • 多重检验校正

    到现在才搞明白怎么算的··· 老师我对不起你啊 (o_ _)ノ 1. 为什么要做多重检验校正 假设一次检验犯错误的...

  • vim编辑器使用笔记三-替换查找

    一、替换和撤销命令 替换和撤销命令都是针对普通模式下 r+字母 将光标所在字母替换为输入的字母R ...

  • 英语学习笔记(7)——自然拼读VS国际音标之R-controll

    R-controlled元音,即r元音,是指被r控制了的元音。当元音字母或字母组合后接r时,元音的发音会发生改变。...

网友评论

      本文标题:多重检验标字母 | R

      本文链接:https://www.haomeiwen.com/subject/hsajfjtx.html