Я хочу рассчитать индексы различий на двоичной матрице и нашел несколько функций в R, но я не могу заставить их согласиться. Я использую коэффициент jaccard в качестве примера в четырех функциях: vegdist()
, sim()
, designdist()
и dist()
. Я собираюсь использовать результат для кластерного анализа.Разница между функциями dist в r
library(vegan)
library(simba)
#Create random binary matrix
function1 <- function(m, n) {
matrix(sample(0:1, m * n, replace = TRUE), m, n)
}
test <- function1(30, 20)
#Calculate dissimilarity indices with jaccard coefficient
dist1 <- vegdist(test, method = "jaccard")
dist2 <- sim(test, method = "jaccard")
dist3 <- designdist(test, method = "a/(a+b+c)", abcd = TRUE)
dist4 <- dist(test, method = "binary")
Кто-нибудь знает, почему dist1
и dist4
отличаются от dist2
и dist3
?
Изучили вы документацию? Если это не дало ответа, изучили ли вы исходный код? – Roland
И тогда вы забудете пакет stringdist :-). который имеет метрику для выполнения расстояния jaccard, но на основе профилей q-грамм. – phiver
Я не смог получить ответ на свой вопрос из документации, и я не так сильно разбираюсь в исходных кодах, поэтому я надеюсь, что вы, ребята, поможете. –