📜  r 中的 kruskal wallis 测试 (1)

📅  最后修改于: 2023-12-03 15:04:45.399000             🧑  作者: Mango

Kruskal Wallis测试

Kruskal-Wallis测试是一种非参数检验方法,用于比较两个或多个组之间的位置差异。它的原假设是所有组的中位数相等。

Kruskal-Wallis测试的步骤包括:

  1. 将所有数据按照大小排序
  2. 对于每个数据,将其所在组的序数记录下来
  3. 计算每个组的秩和
  4. 计算Kruskal-Wallis H-统计量
  5. 对于给定的显著性水平,查找相应的临界值
  6. 比较计算出的统计量和临界值
  7. 根据比较结果得出结论,是否拒绝原假设

在R语言中,可以使用kruskal.test()函数进行Kruskal-Wallis测试。该函数的语法为:

kruskal.test(x, ...)

其中,x是一个向量或一个数据框,包含要比较的组的数据;...是其他参数,比如设置显著性水平。

下面是一个Kruskal-Wallis测试的例子:

# 生成数据
group1 <- rnorm(10)
group2 <- rnorm(10, mean=1)
group3 <- rnorm(10, mean=2)
data <- c(group1, group2, group3)
group <- gl(3, 10, labels=c("Group 1", "Group 2", "Group 3"))

# 进行Kruskal-Wallis测试
kruskal.test(data, group)

运行以上代码,得到的输出为:

	Kruskal-Wallis rank sum test

data:  data and group
Kruskal-Wallis chi-squared = 18.384, df = 2,
p-value = 0.0001029

可以看到,Kruskal-Wallis H-统计量为18.384,p值为0.0001029,显著性水平远小于0.05,因此可以拒绝原假设。

参考资料:

  1. Kruskal-Wallis test. (2021). In Wikipedia. https://en.wikipedia.org/wiki/Kruskal%E2%80%93Wallis_test
  2. R Documentation. (2021). kruskal.test function. https://www.rdocumentation.org/packages/stats/versions/3.6.2/topics/kruskal.test