使用 R 中的 Vegan 包计算完整数据集的 Gamma 多样性
Calculate Gamma diversity over complete dataset using Vegan package in R
我有一些数据集,我想计算伽玛多样性作为香农 H 指数。
示例数据集:
Site SpecA SpecB SpecC
1 4 0 0
2 3 2 4
3 1 1 1
计算alpha多样性如下:
vegan::diversity(df, index = "shannon")
但是,我希望此 diversity
函数为整个数据集而不是每一行计算一个数字。我无法解决这个问题。我的想法是我需要编写一个函数将所有列合并为一个并获取每个物种的平均丰度,从而创建一个数据框,其中一个站点包含所有物种信息:
site SpecA SpecB SpecC
1 2.6 1 1.6
对于某些现有功能可以完成的事情,这似乎是一个巨大的解决方法,但我不知道如何做。我希望有人可以帮助创建此数据框或使用其他方法在整个数据框上使用 diversity()
函数。
此致
library(vegan)
data(BCI)
diversity(colSums(BCI)) # vector of sums is all you need
## vegan 2.6-0 in github has 'groups' argument for sampling units
diversity(BCI, groups = rep(1, nrow(BCI))) # one group, same result as above
diversity(BCI, groups = "a") # arg 'groups' recycled: same result as above
我有一些数据集,我想计算伽玛多样性作为香农 H 指数。
示例数据集:
Site SpecA SpecB SpecC
1 4 0 0
2 3 2 4
3 1 1 1
计算alpha多样性如下:
vegan::diversity(df, index = "shannon")
但是,我希望此 diversity
函数为整个数据集而不是每一行计算一个数字。我无法解决这个问题。我的想法是我需要编写一个函数将所有列合并为一个并获取每个物种的平均丰度,从而创建一个数据框,其中一个站点包含所有物种信息:
site SpecA SpecB SpecC
1 2.6 1 1.6
对于某些现有功能可以完成的事情,这似乎是一个巨大的解决方法,但我不知道如何做。我希望有人可以帮助创建此数据框或使用其他方法在整个数据框上使用 diversity()
函数。
此致
library(vegan)
data(BCI)
diversity(colSums(BCI)) # vector of sums is all you need
## vegan 2.6-0 in github has 'groups' argument for sampling units
diversity(BCI, groups = rep(1, nrow(BCI))) # one group, same result as above
diversity(BCI, groups = "a") # arg 'groups' recycled: same result as above