gpt4 book ai didi

r - 计算列表中字符向量之间的成对Jaccard索引

转载 作者:行者123 更新时间:2023-12-04 11:29:48 24 4
gpt4 key购买 nike

我有以下格式的字符向量

char1 <- c(“Hello”, “was”, “this”, “is”, “that”, “Boston”, “San”, “Francisco”)
char2 <- c(“John”, “was”, “they”, “is”, “Hello”, “Boston”, “San”, “Diego”)
char3 <- c(“John”, “very”, “happens”, “is”, “Hello”, “has”, “San”, “Diego”)

list <- list(char1, char2, char3)

但是,我有大约 500 个,每个长度为 100,000。

如何计算此列表中所有向量的成对 Jaccard 指数(相似性度量)并将其输出为数据框(NA 用于比较相同的字符向量)?这样做的最有效方法是什么?

谢谢!

最佳答案

您可以尝试以下操作以获取所有成对距离 unionintersectdplyr

dist <- unlist(lapply(combn(list, 2, simplify = FALSE), function(x) {
length(intersect(x[[1]], x[[2]]))/length(union(x[[1]], x[[2]])) }))

dist
[1] 0.4545455 0.2307692 0.4545455

要查看哪些对与哪些值相关联,您可以添加索引:
cbind(t(combn(3,2)), dist)

dist
[1,] 1 2 0.4545455
[2,] 1 3 0.2307692
[3,] 2 3 0.4545455

关于r - 计算列表中字符向量之间的成对Jaccard索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48467658/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com