Я создаю функцию, в которой вы предоставляете фрейм данных и вектор числовых имен переменных, и я хочу, чтобы он возвращал фрейм данных с соответствующей переменной для каждого числового вектора, который разбивает его на интервалы.
Я знаю, как это сделать с одной переменной, но с несколькими именами переменных я получаю «Ошибка: LHS :=
не может быть соединен с !!!
».
Здесьвоспроизводимый пример:
library(tidyverse)
vars <- c("wt", "qsec")
new_vars <- map_chr(vars, ~ paste0(.x, "_bin"))
bins <- map(vars, ~ quantile(mtcars[,.x], na.rm = T))
result <- mtcars %>%
mutate(!!!new_vars := map2(vars, bins, ~ cut(mtcars[,.x], breaks = .y)))
Я хочу получить mtcars, но с двумя дополнительными столбцами.1. wt_bin - это будет квантильный интервал, для которого «wt» соответствует 2. qsec_bin - который будет квантильным интервалом, «qsec» соответствует
Я знаю, что это как-то связано с !!!new_vars :=
, но я могуКажется, не совсем понял проблему.
Спасибо!