Я пытаюсь «центрировать» несколько столбцов в кадре данных с помощью dplyr, но продолжаю получать ошибку оценки «не числовой аргумент для двоичного оператора». Я думаю, это потому, что я пытаюсь передать строку, когда моя функция ожидает пустое имя переменной. Однако использование функции syms () не помогает.
center <- function(var) {
var <- enquo(var)
var_ctrd <- paste0(quo_name(var), "_ctrd")
dataset <- dataset %>%
group_by(Gender) %>%
mutate(!! var_ctrd := !! var - mean(!! var, na.rm = TRUE))
}
# Pull out character vector of modifier names
mod_names <- dataset %>%
select(NeckLengthCm:FlexExtDiff_Peak_abs) %>%
colnames()
# Iterate over modifiers
walk(syms(mod_names), center)
Кто-нибудь знает, как решить эту проблему или есть лучшее решение?