【发布时间】:2023-01-19 20:29:47
【问题描述】:
我有以下 2 个数据帧 vendor_list 和 firm_list:
MARKET_ID <- c(1,2,3,4,5)
MARKET_NAME <- c("DELHI","MUMBAI","BANGALORE","KOLKATA","CHENNAI")
vendor_list <- data.frame(MARKET_ID,MARKET_NAME)
MARKET_NAME <- c("DELHI MUNICIPAL CORP","DELHI","MUMBAI","BENGALURU","BANGALORES","CITYKOLKATA")
POPULATION <- c(1000,2000,3000,4000,5000,6000)
firm_list <- data.frame(MARKET_NAME,POPULATION)
我需要在 firm_list 数据框中的 MARKET_NAME 列中的 vendor_list 数据框中的 MARKET_NAME 列中搜索字符串。但是有一定的条件:
如果字符串作为独立块存在,它应该只显示为匹配项,即它不应该是单词的子集。
所以,
- DELHI 与 DELHI MUNICIPAL CORP 的比赛是
TRUE - DELHI对DELHI的匹配是
TRUE - BANGALORE 与 BANGALORES 的匹配是
FALSE,因为 BANGALORE 是 BANGALORES 的子集 - KOLKATA 与 CITYKOLKATA 的匹配是
FALSE,因为 KOLKATA 是 CITYKOLKATA 的子集因此,查找后的最终数据帧
final_market_info应如下所示:| MARKET_ID| MARKET_NAME.x | MARKET_NAME.y | POPULATION | | 1 | DELHI | DELHI MUNICIPAL CORP| 1000 | | 1 | DELHI | DELHI | 2000 | | 2 | MUMBAI | MUMBAI | 3000 |我曾尝试使用 lcs 和 jw 方法在 stringr 包中加入 stringdist_join,但它没有给我这样的正确结果。
【问题讨论】:
-
Market_name在vendor_list中只有4个元素(应该有5个) -
@ChrisRuehlemann 谢谢,已编辑。