2017-04-11 6 views
-1

In einem einzelnen Dataset (QueryTM) habe ich zwei Spalten Query und TM. Ich möchte überprüfen, ob die Abfrage den Wert von TM (in derselben Zeile) enthält oder nicht. Stellen Sie sich ein Beispiel vor: Wenn TM "Coca Cola" und Abfrage "Coca Cola India" ist, sollte Query mit TM übereinstimmen. Wenn die Abfrage jedoch "Coca Colala India" lautet, sollte sie nicht übereinstimmen. Die Ergebnisse sollen in einer anderen Spalte gespeichert werden, zB ErgebnisVergleichen Sie zwei Spalten von Zeichenfolgen für zeilenweisen Text übereinstimmen

Ich verwende R als Plattform.

Antwort

0

Sie müssen Wortgrenzen hinzufügen, um die exakte Übereinstimmung zu erfassen. Mit mapply Sie tun können,

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") 
Verwandte Themen