我需要使用另一个数据框按列过滤数据框,但由于匹配不准确,我想使用 grepl
是一种方法。
下面的代码可以作为例子:
A <- data.frame(X=c("RRT","FGT","UTX","GRW"),Y=c(5,6,9,4))
B <- data.frame(Z=c("PPL","FG","RT","UTX"))
A %>% filter(.,grepl("RT",X))
# the result using a single match
X Y
RRT 5
##desired result
A %>% filter(.,grepl(B,A$X))
A.X A.Y
RRT 5
FGT 6
UTX 9
实现该目标的最佳方法是什么?
最佳答案
这个呢?
> A %>%
+ filter(colSums(outer(B$Z, X, Vectorize(grepl))) > 0)
X Y
1 RRT 5
2 FGT 6
3 UTX 9
关于r - 使用另一个数据框和 grepl 在数据框中搜索字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68849166/