2017-04-11 98 views
-1

在單個數據集(QueryTM)中,我有兩列Query和TM。我想檢查查詢是否包含TM(在同一行)的值。考慮一個例子,如果TM是「可口可樂」並且查詢是「可口可樂印度」,則查詢應該與TM匹配。但是,如果查詢是「可口可樂印度」,它不應該匹配。結果將被存儲在另一列中,比如結果比較兩列字符串進行行式文本匹配

我使用R作爲平臺。

回答

0

您將需要添加單詞邊界來捕獲精確匹配。使用mapply你可以做,

dd$result <- mapply(grepl, paste0('\\b', dd$TM, '\\b'), dd$Query) 

dd 
#   TM    Query result 
#1 Coca Cola Coca Colala India FALSE 
#2 Fanta Orange Fanta Orange India TRUE 

DATA

dput(dd) 
structure(list(TM = c("Coca Cola", "Fanta Orange"), Query = c("Coca Colala India", 
"Fanta Orange India")), .Names = c("TM", "Query"), row.names = c(NA, 
-2L), class = "data.frame") 
相關問題