当函数的参数是字符串而不是四舍五入时(例如,从Shiny UI),我可以想到两个在dplyr::mutate
调用中使用它的选项:
字符串-> quosure
library(dplyr)
var <- "am"
mtcars %>% mutate(!!rlang::sym(var) := !!rlang::sym(var) + 1)
mutate_at
library(dplyr)
var <- "am"
mtcars %>% mutate_at(var, funs(. + 1))
有什么理由更喜欢另一种吗?有没有我可能不知道的边境案件?为了保持一致性,我想坚持一种选择,我需要决定应该选择哪一种。选项2需要较少的依赖项,但我想确保两个变体的确相同。