我有一个数据集,其中在 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)