【发布时间】:2019-10-23 06:56:09
【问题描述】:
基本上,我有一个公司列表(标记为列表 A),我有一个大清单(标记为列表 B)。我想查询列表A的元素是否也在列表B中。一些相同的公司有细微的差异,所以我必须使用模糊匹配。幸运的是,我已经成功找到了在 A 中但不在 B 中的元素。但是我不知道如何删除它而不引起混乱。 (好像很容易引起边界错误)
company <- read.table(text = "
CompanyName
'MERCK SHARP & DOHME CORPORATION'
'GILEAD SCIENCES INC'
'BOEHRINGER INGELHEIM PHARMACEUTICALS, INC.'
'ABBVIE, INC.'
'JANSSEN SCIENTIFIC AFFAIRS, LLC'
'ASAHI INTECC CO., LTD.'
", header = TRUE, stringsAsFactors = FALSE)
Report <- c('MERCK ','BOEHRINGER INGELHEIM','ROCHE','ASAHI')
sapply(lapply(Report, function(x) agrepl(x, company$CompanyName, max.distance=0.1)), max)
上面是我的可重现数据和我的模糊匹配代码,它返回
[1] 1 1 0 1
但我不知道如何删除该 0 职位上的公司。 在每个元素上运行循环是个好主意吗? 我希望我的结果是
'MERCK ','BOEHRINGER INGELHEIM','ASAHI'
【问题讨论】:
-
目前还不是很清楚你想要得到什么作为最终结果。能详细解释一下吗?
-
好的,我已经编辑好了