3
Мне нужно рассчитать расстояние между ярлыками между каждой строкой в кадре данных. Возврат должен быть матрицей/фреймом данных, представляющим расстояние.вычислить расстояние jaccard между строками в r
так:
1 2 3 ..
1 0 0.2 1
2 0.2 0 0.4
3 1 0.4 0
.
.
мои данные:
dput (пункты [1:10],)
structure(list(Drama = c(0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L), Comedy = c(0L, 1L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L), Crime = c(0L,
1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L), SciFi = c(1L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L), Kids = c(1L, 0L, 0L, 0L, 0L, 0L, 0L,
1L, 0L, 0L), Classic = c(1L, 0L, 0L, 1L, 0L, 0L, 0L, 1L, 0L,
0L), Foreign = c(0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L, 0L), Thriller = c(0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L), Action = c(0L, 0L, 0L, 1L,
1L, 1L, 1L, 1L, 1L, 1L), Adventure = c(0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L), Animation = c(0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L), Adult = c(0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L), History = c(0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L), Documentry = c(0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L), Nature = c(0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L), Horror = c(0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L,
0L), Show = c(0L, 1L, 1L, 0L, 1L, 0L, 0L, 0L, 0L, 0L), Series = c(0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L), BlackWhite = c(0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L)), .Names = c("Drama", "Comedy", "Crime",
"SciFi", "Kids", "Classic", "Foreign", "Thriller", "Action",
"Adventure", "Animation", "Adult", "History", "Documentry", "Nature",
"Horror", "Show", "Series", "BlackWhite"), row.names = c(NA,
10L), class = "data.frame")
мой код:
Jaccard_dist <- dist(items, items, method = "Jaccard")
write.csv(Jaccard_dist,'Jaccard_dist.csv')
знаете ли вы способ сделать это, не используя два for-loops?
нет ' "Jaccard"' метод для функции 'дист()', хотя. – mtoto