Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
确定字符向量中与匹配向量[R]中的最大匹配数相匹配的位置_R_String_Match - Fatal编程技术网

确定字符向量中与匹配向量[R]中的最大匹配数相匹配的位置

确定字符向量中与匹配向量[R]中的最大匹配数相匹配的位置,r,string,match,R,String,Match,如何测试一个字符向量(testvec)的哪个元素具有来自另一个字符向量(matchvec)的最多单词 testvec使用stringr的一种可能性是: count <- str_count(testvec, paste(matchvec, collapse = "|")) which(count == max(count)) [1] 2 或者如果有重复的词语(如@Henrik所建议): count这也应该有效: testvec一种可能性: res<-lapply(testvec

如何测试一个字符向量(testvec)的哪个元素具有来自另一个字符向量(matchvec)的最多单词


testvec使用
stringr
的一种可能性是:

count <- str_count(testvec, paste(matchvec, collapse = "|"))
which(count == max(count))

[1] 2
或者如果有重复的词语(如@Henrik所建议):

count这也应该有效:

testvec一种可能性:

 res<-lapply(testvec, function(x) stringr::str_count(matchvec)) 
which.max(Map(sum,res))
[1] 2

另一个
base
可能性:
len注意,如果单词重复,base R方法不起作用,例如
“重要”
@Henrik非常好的可能性。把它添加到我的帖子里。如果你想自己发布,我可以删除它:)@tmfmnk我无意发布自己的答案,所以你的编辑对我来说非常合适。
count <- str_count(testvec, paste(matchvec, collapse = "|"))
which(count == max(count))

[1] 2
count <- rowSums(sapply(matchvec, function(x) grepl(x, testvec)))
which(count == max(count))
count <- lengths(gregexpr(paste(matchvec, collapse = "|"), testvec))
which(count == max(count))
which(matches == max(matches)])
 res<-lapply(testvec, function(x) stringr::str_count(matchvec)) 
which.max(Map(sum,res))
[1] 2
plyr::ldply(testvec,
            function(x)
              all(stringr::str_count(x,matchvec)>0))
 which(res==TRUE)
[1] 2