Я понял это, когда набирал вопрос, но хотел бы посмотреть, есть ли более чистый и менее кодовый способ делать то, что я хочу.
например, блок кода:
target <- "mpg"
# want
mtcars %>%
mutate(target := log(target))
Я хотел бы обновить mpg до журнала mpg, основанного на переменной target.
Похоже, я получил эту работу с:
mtcars %>%
mutate(!! rlang::sym(target) := log(!! rlang::sym(target)))
Это выглядит как довольно повторяющееся. Есть ли «чище», меньше кода для достижения того же результата?
Мне нравятся двойные фигурные скобки {{var}}
, нет причин, они просто приятнее читать imho, но я не смог при попытке получить те же результаты:
mtcars %>%
mutate(!! rlang::sym(target) := log({{target}}))
Какими различными способами я могу использовать tidyeval для изменения поля с помощью преобразования, основанного на предварительно определенной переменной, чтобы определить, какое поле следует преобразовать, в этом случае переменная 'target'?