0

谁能给我一个关于如何在下面运行 Kruskal-Wallis 测试的提示?

我的目标:对于每个家庭来说,Forest 和 Urban 之间的细菌生长 (agg_rel_abund) 是否有任何意义。

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

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

有样本类型,即 F 和 W。

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

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

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

样本 栖息地 家庭 agg_rel_aund
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
4

1 回答 1

1

这个问题应该是交叉验证的。

如果您想知道增长是否随家庭而变化,无论栖息地如何,您都可以执行 kruskal.test,其中 agg_rel_abund 作为因变量,家庭作为自变量。

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)
于 2021-07-08T14:44:34.523 回答