r - 使用另一个数据框和 grepl 在数据框中搜索字符串
问题描述
我需要使用另一个数据框逐列过滤数据框,但是因为匹配不准确,我想使用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
推荐阅读
- javascript - 用纯Javascript(VanillaJS)拖放整个表列?
- sql - 对两个相关表中的列求和并按另一列分组(postgresql)
- java - 如何将前端和后端同时部署到 App Engine?
- javascript - 如何将工具提示放在 div 下居中?
- android - 从子类继承后变量不更新
- javascript - admin.firestore.Timestamp.now() 和 admin.firestore.FieldValue.serverTimestamp() 有什么区别?
- javascript - 更新 Node.js 中的二进制文件
- css - React 中的 CSS 样式
- visual-studio - 滚动视图不在情节提要中滚动
- c# - 如何将位置从一个对象转换为当前玩家位置?