美文网首页统计分析方法
2021-06-18 两组间差异的非参数检验之Wilcox秩和检

2021-06-18 两组间差异的非参数检验之Wilcox秩和检

作者: 学习生信的小兔子 | 来源:发表于2021-06-18 11:20 被阅读0次

在进行两组数据间的差异分析时,我们通常会想到使用<u>t检验</u>。但若数据不满足执行t检验的参数假设(例如数据分布不符合正态性,变量在本质上就严重偏倚或呈现有序关系),无法使用t检验分析时,可以考虑使用非参数的方法来完成。

就两组数据的比较而言,wilcox秩和检验(或称Mann-Whitney U检验)是常见的非参数检验方法之一。本文简介怎样在R中进行wilcox秩和检验,以实现两组间非参数差异分析。
已知group3的shannon指数数据分布并不符合正态性,此时,若我们想比较group2和group3的shannon指数间是否存在显著差异,就不适合使用t检验(暂且不考虑对数据进行合理的转化后是否会满足t检验的参数假设),可采用非参数的方法(本文中介绍使用wilcox秩和检验)去实现。

数据预处理及正态性假设检验

首先将上述两个数据表读入R中,并合并在一起,以及数据的正态分布检验。

library(reshape2)

#读入文件,合并分组信息,数据重排
alpha <- read.table('alpha.txt', sep = '\t', header = TRUE, stringsAsFactors = FALSE, check.names = FALSE)
group  <- read.table('group.txt', sep = '\t', header = TRUE, stringsAsFactors = FALSE, check.names = FALSE)
alpha <- melt(merge(alpha, group, by = 'sample'), id = c('sample', 'group'))

#选择要比较的分组(此处查看 group2 与 group3 在 shannon 指数上是否存在显著差异)
shannon_23 <- subset(alpha, variable == 'shannon' & group %in% c('2', '3'))
shannon_23$group <- factor(shannon_23$group)
head(shannon_23, 10)
tapply(shannon_23$value, shannon_23$group, shapiro.test)
$`2`

    Shapiro-Wilk normality test

data:  X[[i]]
W = 0.89411, p-value = 0.2554


$`3`

    Shapiro-Wilk normality test

data:  X[[i]]
W = 0.78386, p-value = 0.01918

通过Shapiro-Wilk检验得知数据分布不满足正态性。这里p值小于0.05表明数据违背了正态性分布的零假设。

wilcox秩和检验

不符合正态性前提的数据,无法应用t检验去比较差异。我们考虑使用非参数的方法作为替代,对于两组数据的比较,可使用wilcox秩和检验。类似于t检验,根据样本间是否独立,分为wilcox秩和检验以及wilcox符号秩和检验。

wilcox秩和检验

##wilcox 秩和检验,我们执行了一个双侧检验 样本间相互独立
wilcox_test <- wilcox.test(value~group, shannon_23, paired = FALSE, alternative = 'two.sided')
wilcox_test
wilcox_test$p.value
0.002952603
由于p值(约为0.003)小于0.05,即拒绝了原假设(原假设两组间没有差异),group2和group3的shannon指数间存在显著不同。
##wilcox 符号秩和检验,我们执行了一个双侧检验  样本间并非相互独立
wilcox_test <- wilcox.test(value~group, shannon_23, paired = TRUE, alternative = 'two.sided')
wilcox_test
wilcox_test$p.value
0.0390625
根据p值(0.039,低于0.05)可知group2和group3的shannon指数间存在显著不同。

可视化展示

考虑作图将两组差异进行可视化展示。例如,一个简单的箱线图示例。

#作图示例
#boxplot() 箱线图
boxplot(value~group, data = shannon_23, col = c('blue', 'orange'), ylab = 'Shannon', xlab = 'Group', main = 'wilcox test: p-value = 0.00295')

相关文章

  • 2021-06-18 两组间差异的非参数检验之Wilcox秩和检

    在进行两组数据间的差异分析时,我们通常会想到使用 t检验 [#rd]。但若数据不满足执行t检验的参数假设(例如数据...

  • Wilcox检验

    相较于参数分析的t检验,wilcox秩和检验不必事先验证数据分布的正态性,因此理论上来讲,只要是两组数据间的差异分...

  • 两组间差异的非参数检验之wilcox秩和检验在R中实现

    在进行两组数据间的差异分析时,我们通常会想到使用t检验。但若数据不满足执行t检验的参数假设(例如数据分布不符合正态...

  • 计算微生物otu表格组间差异

    ANOSIM相似性分析是一种非参数检验,用来检验组间(两组或多组)差异是否显著大于组内差异,从而判断分组是否有意义...

  • 两组间差异的非参数检验

    检测一组数据是否为正态分布 (1)QQ图 Quantile-Quantile plot可以检视数据是否符合某种类型...

  • 统计学基础12-秩和检验

    一. 秩和检验概述 秩和检验(rank sum test)又称顺序和检验,它是一种非参数检验(nonparamet...

  • D7-多样本秩和检验非参数

    秩和检验 秩和检验是参数检验重要的补充。秩和检验是非参数检验的重要方法。多组定量数据的比较,主要的方法有两种。一种...

  • STAMP

    STAMP是对两组或多组样本在任何分类水平进行显著性差异分析的软件包,包括物种和功能差异分析。 两组分析时,统计检...

  • R 函数学习 - wilcox.test()

    wilcoxon秩和及wilcoxon符号秩检验是对原假设的非参数检验,在不需要假设两个样本空间都为正态分布的情况...

  • R语言wilcoxon秩和检验及wilcoxon符号秩检验

    说明wilcoxon秩和及wilcoxon符号秩检验是对原假设的非参数检验,在不需要假设两个样本空间都为正态分布的...

网友评论

    本文标题:2021-06-18 两组间差异的非参数检验之Wilcox秩和检

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