1

我有一个数据集,其中在 2017 年和 2018 年对 40 个地点进行了物种存在的采样。我正在努力寻找在地点之间创建成对 Jaccard 距离的最佳方法。

我的目标是在两年内对同一站点进行成对比较。例如。站点 1 在 2017 年和 2018 年,站点 2 在 2017 年和 2018 年。是否有一种简单的方法来限制 Jaccard 计算,以便仅在年份不同且站点相同时计算?

想要的输出:

                       jaccard
2017:1 vs 2018:1       0.2
2017:2 vs 2018:2       0.8
2017:3 vs 2018:3       0.5
2017:4 vs 2018:4       0.1
       .                .
       .                .
2017:40 vs 2018:40     0.6                       

模拟数据 - 我的真实数据包含的物种比这里模拟的要多得多:

year <- c(rep(2017, 40), rep(2018, 40))
site <- c(rep(1:40,2))
sp1 <- sample(c(0,1), replace=TRUE, size=80)
sp2 <- sample(c(0,1), replace=TRUE, size=80) 
sp3 <- sample(c(0,1), replace=TRUE, size=80)

cbind(year, site, sp1,sp2,sp3)

当我计算 Jaccard 时,我得到一个包含所有 jaccard 距离的大矩阵:

library(vegan)
vegdist(data, method = "jaccard", binary = TRUE)
4

0 回答 0