计算两个字符串中的常用单词

前端之家收集整理的这篇文章主要介绍了计算两个字符串中的常用单词前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有两个字符串:
a <- "Roy lives in Japan and travels to Africa"
b <- "Roy travels Africa with this wife"

我希望得到这些字符串之间常用词的数量.

答案应该是3.

>“罗伊”
>“旅行”
>“非洲”

是常用词

这是我试过的:

stra <- as.data.frame(t(read.table(textConnection(a),sep = " ")))
strb <- as.data.frame(t(read.table(textConnection(b),sep = " ")))

采取独特的,以避免重复计数

stra_unique <-as.data.frame(unique(stra$V1))
strb_unique <- as.data.frame(unique(strb$V1))
colnames(stra_unique) <- c("V1")
colnames(strb_unique) <- c("V1")

common_words <-length(merge(stra_unique,strb_unique,by = "V1")$V1)

我需要这个用于超过2000和1200字符串的数据集.
我必须评估字符串的总时间是2000 X 1200.任何快速方式,不使用循环.

解决方法

您可以使用基础库中的 strsplitintersect
> a <- "Roy lives in Japan and travels to Africa"
> b <- "Roy travels Africa with this wife"
> a_split <- unlist(strsplit(a,sep=" "))
> b_split <- unlist(strsplit(b,sep=" "))
> length(intersect(a_split,b_split))
[1] 3

猜你在找的HTML相关文章