Я хотел бы динамически вводить имя переменной, используя синтаксис программирования dplyr, однако, как многие описали, это может быть довольно запутанным.
Я поиграл с различными комбинациями quo / enquo !!и т.д. безрезультатно.Вот самая простая форма моего кода
library(tidyverse)
df <- tibble(
color1 = c("blue", "blue", "blue", "blue", "blue"),
color2 = c("black", "black", "black", "black", "black"),
value = 1:5
)
num <- 2
df %>%
mutate(color3 = !!(paste0("color", num)))
#> # A tibble: 5 x 4
#> color1 color2 value color3
#> <chr> <chr> <int> <chr>
#> 1 blue black 1 color2
#> 2 blue black 2 color2
#> 3 blue black 3 color2
#> 4 blue black 4 color2
#> 5 blue black 5 color2
Создано в 2018-12-19 годах представительным пакетом (v0.2.1)
Вместо этого я хотел бы оценить цитируемый ввод.
#> # A tibble: 5 x 4
#> color1 color2 value color3
#> <chr> <chr> <int> <chr>
#> 1 blue black 1 black
#> 2 blue black 2 black
#> 3 blue black 3 black
#> 4 blue black 4 black
#> 5 blue black 5 black