r - 如何在 R 中使用变量值作为 grepl 的参数?
问题描述
下面是我的代码:
ABData <- data.frame(a = c(1,2,3,4,5),
id = c("Non valid cases with no consent for follow-up (a)", "Oxford", "Berlin",
"Hamburg", "Oslo"),
pass = c("CASE ARCHIVED - ACTELION LEGACY CASE :ST_NVC_CATEGORY_NAME Non valid cases with no consent for follow-up (a)","No London","asdBerlin","No Match","OsLondonlohama"))
b <- 'id'
c <- 'pass'
match<- ABData %>% rowwise() %>% filter(grepl(id,pass, fixed = TRUE))
mismatch<- ABData %>% rowwise() %>% filter(!grepl(id, pass))
我想使用变量 b 和 c 作为参数,grepl
但当时我没有得到正确的结果,当我使用数据框的实际列名时,我得到了正确的结果。
帮助!!
解决方案
我们可以map
使用.data
library(dplyr)
library(purrr)
ABData %>%
filter(map2_lgl(.data[[c]], .data[[b]], ~ grepl(.y, .x, fixed = TRUE )))
推荐阅读
- javascript - jQuery单击后阻止函数继续运行
- javascript - 如果多个变量的java脚本中的条件等于相同的值,那么最好的方法是什么,然后什么都不做
- php - 如何对具有按类别排序的相同键的数组的值求和?
- android - 是否有任何工具/方法可以生成用于在 SQLite 中插入数据的数据库脚本?
- ios - 在 iOS Swift 中将自定义字体设置为 UILabel
- android - Animate textView inside the cardView to display long texts
- java - 如何使用java变量将值插入mysql
- ansible - 如何使用ansible在rhel中新连接的磁盘上检测和创建分区
- c# - UNICODE 字符的字符表示并不总是返回一个字符
- javascript - 将内容分配给特定的 th 元素