簡體   English   中英

在R或Python中模糊匹配兩列

[英]Fuzzy matching two columns in R or Python

我們都知道如何使用模糊方法匹配向量中的字符串,例如在A <-c(“ Madam”,“ adam”,“ Lizzy”,“ Paul”)等向量中找到字符串“ adam”。

我們可以做一個grep, grep("adam", A) ,得到匹配元素的索引

如何使用模糊方法匹配兩個矢量?

例如,我有兩個向量A <- c("007996", "12390", "09123")B <- c("7996", "9823", "9123") 我必須在A和B之間執行模糊匹配,以便獲得A中匹配元素的索引,在這種情況下為1 3

因為00996中存在7996,而09123中存在9123

我嘗試執行grep(B, A) ,但是R拋出一個錯誤,指出它將僅考慮B中的第一個元素,因為匹配模式的長度超過一個

任何人都可以提出一種無需使用FOR循環即可在R中執行此操作的方法的建議。

兩個向量的大小可能不相同。

提前致謝

如果僅需加"0" ,則可以執行以下操作:

A <- c("007996", "12390", "09123")
B <- c("7996", "9823", "9123")

which(as.numeric(A) %in% as.numeric(B)) 
# [1] 1 3

# or here just which(as.numeric(A) %in% B)

或者可能 :

which(as.numeric(A) == as.numeric(B))
# [1] 1 3

我不清楚您是否在尋找成對的比賽。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM