如何 运行 R 中的 Kruskal-Wallis 或 Mann-Whitney 检验?

How to run the Kruskal-Wallis or Mann-Whitney Test in R?

任何人都可以提示我如何 运行 下面的 Kruskal-Wallis 测试吗?

我的objective : Forest 和 Urban 之间的细菌生长(agg_rel_abund)对每个家庭有什么意义吗

我在 R 中尝试过的代码:kruskal.test(Habitat ~ agg_rel_abund, data = my_data) 但显然我知道那是错误的...因为我没有击中我的 objective..

让我简单解释一下我的数据:

样本有F和W两种类型

当样本名称以F开头时,表示Habitat来自Urban。

当样本名称以W开头时,表示栖息地来自森林。

如果想做 Mann-Whitey 检验,或者任何非参数检验也可以...只要能了解 Forest 之间细菌生长 (agg_rel_abund) 的意义和 Urban 每个家庭。

样本 栖息地 家庭 agg_rel_abund
F10 城市 醋杆菌科 0
F2 城市 醋杆菌科 0
F3 城市 醋杆菌科 0
F7 城市 醋杆菌科 0.000132118
F8 城市 醋杆菌科 0
W10 森林 醋杆菌科 0
W13 森林 醋杆菌科 0
W3 森林 醋杆菌科 0
W6 森林 醋杆菌科 0
W9 森林 醋杆菌科 0
F10 城市 芽孢杆菌科 0.00488836
F2 城市 芽孢杆菌科 0.000924825
F3 城市 芽孢杆菌科 0.001056943
F7 城市 芽孢杆菌科 0.002378121
F8 城市 芽孢杆菌科 0.002906593
W10 森林 芽孢杆菌科 0.000264236
W13 森林 芽孢杆菌科 0.027876866
W3 森林 芽孢杆菌科 0.001585414
W6 森林 芽孢杆菌科 0.001056943
W9 森林 芽孢杆菌科 0.004492007
F10 城市 食肉杆菌科 0
F2 城市 食肉杆菌科 0
F3 城市 食肉杆菌科 0
F7 城市 食肉杆菌科 0
F8 城市 食肉杆菌科 0.000132118
W10 森林 食肉杆菌科 0
W13 森林 食肉杆菌科 0
W3 森林 食肉杆菌科 0.000132118
W6 森林 食肉杆菌科 0

这个问题应该进行交叉验证。

如果你想知道增长是否随 Family 而变化,不管栖息地如何,你可以执行 kruskal.test 以 agg_rel_abund 作为因变量和 Family 作为自变量。

kruskal.test(agg_rel_abund ~ Habitat, data = my_data)

Kruskal-Wallis rank sum test

data:  agg_rel_abund by Habitat
Kruskal-Wallis chi-squared = 0.0051556, df = 1, p-value = 0.9428

如果你确定不同家庭之间的增长没有差异,你可以直接执行kruskal.test,以agg_rel_abund为因变量,Habitat为自变量。

kruskal.test(agg_rel_abund ~ Habitat, data = my_data)

Kruskal-Wallis rank sum test

data:  agg_rel_abund by Habitat
Kruskal-Wallis chi-squared = 0.0051556, df = 1, p-value = 0.9428

对于每个栖息地,您可以执行kruskal.test来检查家庭间生长差异的显着性

library(dplyr)

    for (i in unique(family$Habitat)) {
  x <- kruskal.test(agg_rel_abund ~ family,
                    data = family[family$Habitat==i,])
  out[[i]] <- c(Kruskal.Wallis.H = x[["statistic"]][["Kruskal-Wallis chi-squared"]],
                Sig = x[["p.value"]],
                df = x[["parameter"]][["df"]])
  }

out <- bind_rows(out)
out$Habitat <- unique(family$Habitat)