如何在dplyr 0.7.x中为mutate结果提供一个字符名称?

时间:2017-08-21 21:53:32

标签: r dplyr nse

在上一个涉及过滤器的问题之后,我认为该模式将是......

library(dplyr)
library(rlang)
conversion_scale_name <- "kph"
conversion_scale_ratio <- 1.60934
conversion_scale_sym <- sym(conversion_scale_name)
cars %>%
    mutate((!!conversion_scale_sym) = speed * conversion_scale_ratio)

然而,这似乎并不奏效。我得到了

Error: unexpected '=' in:
"    cars %>%
        mutate((!!conversion_scale_sym) ="

我做错了什么?

P.S。事实证明previous question问了一个关于重命名的类似问题。解决方案结果是相同的。

1 个答案:

答案 0 :(得分:3)

:=!!一起使用,而不只是=

cars %>%
  mutate(!!conversion_scale_name := speed * conversion_scale_ratio)