используя функцию аргумента с stringr::str_extract

Я пытаюсь разобрать аргумент пользовательской функции через stringr::str_extract, но не могу заставить его работать.

Вот что я пробовал до сих пор:

library(tidyverse)

extr_var <- function(data, variable) {

      res <- data %>% 
      mutate(kk = str_extract(variable, 'setosa'))

      return(res)
}


extr_var(iris, "Species")

и верхние 6 строк из вывода:

#  Sepal.Length Sepal.Width Petal.Length Petal.Width Species   kk
#1          5.1         3.5          1.4         0.2  setosa <NA>
#2          4.9         3.0          1.4         0.2  setosa <NA>
#3          4.7         3.2          1.3         0.2  setosa <NA>
#4          4.6         3.1          1.5         0.2  setosa <NA>
#5          5.0         3.6          1.4         0.2  setosa <NA>
#6          5.4         3.9          1.7         0.4  setosa <NA>

Я пробовал использовать match.call, substitute и другие, но не смог заставить это работать. Любая помощь приветствуется.


person patL    schedule 06.05.2020    source источник
comment
Речь идет о нестандартной оценке в dplyr, нужно просто завернуть variable в !!sym(). Этот пост отвечает на ваш вопрос: Программирование с помощью dplyr с использованием строки в качестве входных данных и Программирование с помощью dplyr — хороший ресурс.   -  person caldwellst    schedule 06.05.2020
comment
Да, это так! Спасибо @caldwellst. Я google это и не мог найти никакого ответа.   -  person patL    schedule 06.05.2020