[英]Find Partial matching elements between two dataframe columns in r
I have two data frames in which I need to match column A of Input data frame with Lookup data frame and find the partial matching elements.我有两个数据框,我需要将输入数据框的 A 列与Lookup数据框进行匹配,并找到部分匹配的元素。 My resulting data frame will be as data frame Result .
我生成的数据框将作为数据框Result 。
A=c("Green|Red|Yellow","Blue","Orange|Peach","Violet")
B=c(23,41,65,89)
Input=data.frame(A,B)
Matches=c("Green","Orange","Red","Yellow","Peach")
Lookup=data.frame(Matches)
Matched=c("Yes","Yes","Yes","No")
Result=data.frame(A,B,Matched)
If someone know the solution pleas help.如果有人知道解决方案,请提供帮助。
We could do it with an ifelse
statement:我们可以使用
ifelse
语句来做到这一点:
library(dplyr)
library(stringr)
Input %>%
mutate(Matched = ifelse(str_detect(A, paste(Lookup$Matches, collapse = "|")), "Yes", "No"))
A B Matched
1 Green|Red|Yellow 23 Yes
2 Blue 41 No
3 Orange|Peach 65 Yes
4 Violet 89 No
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.