使用mutate_()
我曾经提供一个新变量列表以及创建它们所需的逻辑。
library(dplyr)
library(rlang)
list_new_var <-
list(new_1 = "am * mpg",
new_2 = "cyl + disp")
mtcars %>%
mutate_(.dots = list_new_var) %>%
head()
现在我想过渡到使用整洁的评估。我正在了解新方法。
我怎样才能使这项工作?一般会推荐一个函数来解决这种情况吗?
f_mutate <- function(data, new) {
a <- expr(new)
b <- eval(new)
c <- syms(new)
d <- UQ(syms(new))
e <- UQS(syms(new))
f <- UQE(syms(new))
data %>%
mutate(f) %>%
head()
}
f_mutate(mtcars, new = list_new_var)