带有字符变量的dplyr过滤器中的str_detect

时间:2018-07-31 07:30:40

标签: r dplyr stringr

我有一个像这样的数据框:

library(tidyverse)
df <- data.frame(v1 = rnorm(5),
                 v2 = c('aa', 'bb', 'cc', 'aa', 'ee'))

我想过滤v2 =='aa'的行。使用stringr包中的dplyr和str_detect可以轻松实现

df %>% filter(str_detect(v2, 'aa'))

但是,我很难将其集成到v2列名更改的工作流中。

因此列名存储为字符串并被解析以进行过滤,但是它不起作用:

var <- 'v2'
df %>% filter(str_detect(var, 'aa'))

我尝试了evalparse的组合,但这也不起作用

df %>% filter(str_detect(parse(var), 'aa'))
df %>% filter(str_detect(eval(var), 'aa'))
df %>% filter(str_detect(eval(parse(var)), 'aa'))

0 个答案:

没有答案