Я знаком с синтаксисом embrace dplyr , который позволяет динамически передавать имя переменной без кавычек в качестве аргумента функции. Например, после определения
library(dplyr)
pull_column <- function(tb, colname) {
tb %>%
pull({{colname}})
}
можно, например, извлечь столбец name
из таблицы starwars
, запустив команду
starwars %>% pull_column(name)
Моя цель - создать другую функцию который также принимает аргумент colname
, а затем использует предоставленное значение для пересылки в качестве аргумента функции pull_column()
. Например, эта функция сначала фильтрует по цвету глаз, а затем вызывает pull_column()
:
pull_column_for_eyecolor <- function(tb, colname, eyecolor){
tb %>%
filter(eye_color == eyecolor) %>%
pull_column(colname)
}
, но когда я вызываю эту функцию, чтобы получить имена желтоглазых персонажей через
starwars %>% pull_column_for_eyecolor(name, "yellow")
Я получаю
Ошибка: имя объекта не найдено
Есть ли способ указать значение без кавычек для аргумента colname
как для pull_column()
и pull_column_for_eyecolor()
работают без ошибок?