Я надеюсь разделить строку одного аргумента на два аргумента и использовать каждый в разных разделах функции.
Возможно ли это сделать с помощью квазиквотации (!!
) или других функций rlang?
Спасибо!
Данные:
person <- tibble(id = 1, age = 20)
friends <- tibble(id = c(2, 3, 4, 5), age = c(48, 29, 20, 48))
(не функционирует) Функция:
different_age_friends <- function(condition, person = person, friends = friends ) {
person <- person
friends <- friends
condition <- str_split(condition, " ~ ", simplify = T)
condition_statement <- condition[1]
filter_statement <- condition[2]
if(!!condition_statement) {
different_age_friends <- friends %>%
filter(!!filter_statement)
}
return(return_same_age_friends)
}
Звоните:
different_age_friends(condition = "age == 20 ~ age == 48")
Желаемый выход
id age
2 48
5 48