Расчет Jaccard только для переделанных сайтов - PullRequest
0 голосов
/ 19 марта 2019

У меня есть набор данных, в котором было отобрано 40 участков на отсутствие видов в 2017 и 2018 годах. Я изо всех сил пытаюсь найти лучший способ создания попарных расстояний Жакара между участками.

Я стремлюсь получить парные сравнения между одним и тем же сайтом в течение двух лет.Например.сайт 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:

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