首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对两个向量使用agrep的R模糊匹配

对两个向量使用agrep的R模糊匹配
EN

Stack Overflow用户
提问于 2021-02-24 07:42:46
回答 2查看 32关注 0票数 2

我想使用模糊匹配来比较人们访问过的两个向量,我使用的是agrep。

代码语言:javascript
复制
person1<-c("supermarket","garage","garden centre","restaurant")
person2<-c("supermkt","park","gdn center","gym","italian restaurant")

如果我将person1手动去过的所有地方都输入到agrep中,那么它会告诉我person 1访问了person 2也访问过的3个地方。

代码语言:javascript
复制
agrep("supermarket",person2,max.distance = 0.3)

我想要的是一种方法来迭代person 1访问过的地方,得到结果'3‘,并将其赋给一个变量,例如person1result<-3,这样我就可以在以后的编码中使用它。

EN

回答 2

Stack Overflow用户

发布于 2021-02-24 07:51:59

我不确定我是否正确理解了你的问题。但是,迭代的一种方法是使用for-loop或等效的*apply函数,如下所示:

代码语言:javascript
复制
sapply(person1, function(x)agrep(x, person2, max.distance = 0.3))
[1] 1 3 5

从这里开始,我希望你能继续解决你的问题的剩余部分。

票数 2
EN

Stack Overflow用户

发布于 2021-02-24 07:57:13

以下是使用outer + agrepl的一种选择

代码语言:javascript
复制
which(
  outer(
    person1,
    person2,
    FUN = Vectorize(function(x, y) agrepl(x, y, max.distance = 0.3))
  ),
  arr.ind = TRUE
)[, "col"]

这给了我们

代码语言:javascript
复制
[1] 1 3 5
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66342658

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档