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