【发布时间】:2017-12-05 07:36:33
【问题描述】:
我有一个名为 Test1 的数据框,其中包含 23 万家公司。我需要做的是将Tests1 子集化为一个名为FinalDS 的新DF。
我创建了一个名为Customers 的列表,其中包含我需要放入我的FinalDS DF 的多个客户端名称变体(大约100k)。
我正在寻找的是 R 来查看我的 Customers DF 并在 Test1 DF 中查找客户名称但是!....我需要的是 R 来扫描 Customers DF 并查看它是否可以将Customers DF 中客户名称的任何部分与Test1 DF 匹配
例如:
我在Customers DF 上有这个客户:
Centrica PLC
但在Test1 DF 上我有Centrica,所以按照定义将没有匹配项。我知道我可以通过从 Customers DF 中删除 PLC 部分来使所有客户匹配,但我有一个大约 100k 客户的列表。
这是我写的代码:
Customers = c("Adidas","ADIDAS GROUP","ALIBABA GROUP","ALIBABA.COM (EUROPE) LTD"
,"Apple Asia Pacific Pte Ltd" ,"APPLE DISTRIBUTION INTERNATIONAL"
,"APPLE EUROPE LTD","Apple Sales International"
,"AVIVA-PLC","Aviva -Norwich Union"
,"Aviva -Norwich Union-MSP","AVIVA PLC"
,"AXA TECHNOLOGY SERVICES UK LTD","AXA UK PLC"
,"Bank of Baroda","Bank of Baroda"
,"BARCLAYS","BARCLAYS BANK PLC"
,"BARCLAYS PLC","BRAVURA SOLUTIONS LTD"
,"CENTRICA PLC","CISCO"
,"Cisco Systems LTD","CSC (NG)-MSP"
,"CSC COMPUTER SCIENCES LTD","EMC CORPORATION"
,"GE Infrastructure UK Limited","GE MEDICAL SYSTEMS INFORMATION TECHNOLOGIES GMBH")
FinalDS = subset(Test1, grepl(paste(Customers, collapse = "|"), Test1$Customer_Name))
所有这一切都是尝试逐字匹配我在Customer 列表中的内容与Test1 DF
请帮忙!
【问题讨论】: