我正在尝试计算辛普森多样性指数,我想知道是否可以使用 vegan 包保留行名称。
我的数据集目前看起来像这样:
hab Sp1 Sp2
1 habitat1 1645 1550
2 habitat2 2935 3060
3 habitat3 4780 2875
4 habitat4 3370 3500
5 habitat5 3730 2270
6 habitat6 2475 1140
7 habitat7 1405 1160
8 habitat8 6180 4145
9 habitat9 795 140
10 habitat10 4745 4595
我使用的代码是:
data_simp %>%
diversity("simp")
Error in diversity(., "simp") : input data must be numeric
当我删除数据集中的第一列时,我设法获取每行的辛普森索引。但是,我想保留第一列来创建一个新的数据集,其中包含“栖息地”的名称和相应的辛普森多样性指数。
可以吗?
谢谢你:)
有什么理由不能让它们分开并重新合并吗?例如:
df <- data.frame(
hab = paste0("habitat", 1:10),
Sp1 = c(1645, 2935, 4780, 3370, 3730, 2475, 1405, 6180, 795, 4745),
Sp2 = c(1550, 3060, 2875, 3500, 2270, 1140, 1160, 4145, 140, 4595)
)
data_simp <- cbind.data.frame(df$hab, vegan::diversity(df[,2:3]))
#> 1 habitat1 0.6927051
#> 2 habitat2 0.6929298
#> 3 habitat3 0.6618545
#> ...
(在此步骤之后您可能需要添加更多信息丰富的列名称)