如何解决如何在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))
我想在grepl
中使用变量b和c作为参数,但是那时我没有得到正确的结果,当我使用数据帧的实际列名时我得到了正确的结果。
帮助!
解决方法
您可以将<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>Document</title>
</head>
<body>
<select name="" id="departamento">
<option value=""></option>
</select>
<select name="" id="ciudad">
<option value=""></option>
</select>
</body>
</html>
与sym
结合使用:
!!
但是,可以使用向量化的library(dplyr)
library(stringr)
library(rlang)
ABData %>% rowwise %>% filter(grepl(!!sym(b),!!sym(c),fixed = TRUE))
来代替grepl
,而不用str_detect
rowwise
,
我们可以将map
与.data
一起使用
library(dplyr)
library(purrr)
ABData %>%
filter(map2_lgl(.data[[c]],.data[[b]],~ grepl(.y,.x,fixed = TRUE )))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。