Так как вы используете tidyverse
функции, имеет смысл использовать аккуратную оценку для этого типа задач. Для этой функции вы можете сделать
test_corr <- function(data, x, y) {
quo( cor({{x}}, {{y}}) ) %>%
rlang::eval_tidy(data=data)
}
test_corr(df, x, y)
Сначала мы создадим условие для построения выражения, которое вы хотите оценить, и используем синтаксис {{ }}
(embrace) для вставки имен переменных, которые вы передаете в функцию. в выражение. Затем мы оцениваем это предложение в контексте data.frame, который вы предоставляете с eval_tidy
.
. Возможно, вас также заинтересует виньетка пакета tidyselect , в которой обсуждаются дополнительные параметры.