我正在使用来自vegdist()包的vegan来计算森田的相似性指数。我的数据将站点名存储在第一列中。
TCR 3 0 0 0
MTF 0 1 2 0
UTZ 0 1 0 1
MTC 0 0 0 0
TMC 0 0 0 0
RLK 0 0 0 0因为vegdist不接受非数字数据,所以我必须通过指定data[-1]来删除站点名。
vegdist(data[-1 ], method='morisita')这很好,但显然我没有任何网站名称:
1 2 3 4 5
2 0.02701298
3 0.30256065 0.31838705
4 0.00000000 0.02279212 0.27784052
5 0.25158180 0.33946880 0.54253442 0.29648698
6 0.03720930 0.03925893 0.35777998 0.03406440 0.40862423根据我的数据和我认为它们是哪些网站,这些数字中的一些似乎不正确。所以,非常重要的是,我有网站名称,以确定哪一个是哪个。如何在使用vegdist()**?**时保留网站名称?
请注意,我可以在使用diversity()时保留站点名,也可以通过vegan保存站点名:
plyr::ddply(data, ~site, function(x) {
data.frame(simpson=diversity(x[-1], index='simpson'))
})但我想不出如何使它适应vegdist()。
发布于 2020-04-10 23:02:04
这就是创建基本R行名属性的目的。
rownames(data) <- data[,1]
data <- data[,-1]
data
# V2 V3 V4 V5
#TCR 3 0 0 0
#MTF 0 1 2 0
#UTZ 0 1 0 1
#MTC 0 0 0 0
#TMC 0 0 0 0
#RLK 0 0 0 0现在,当您使用vegan中的所有这些函数时,您将得到更有用的结果。
library(vegan)
vegdist(data,method='morisita')
# TCR MTF UTZ MTC TMC
#MTF 1
#UTZ 1 0
#MTC NaN NaN NaN
#TMC NaN NaN NaN NaN
#RLK NaN NaN NaN NaN NaNhttps://stackoverflow.com/questions/61149812
复制相似问题