我认为通过之前的问题,我已经解决了在 tidyverse 中使用变量的所有问题。但我刚刚使用我不明白的 mutate 函数遇到了一个问题。下面是一个将 dplyr 语句通过管道传输到 ggplot 的玩具示例。
我添加了一个显式的变异步骤mutate(mpg = mpg * 10) %>%,效果很好。
.data[[]]另外,在语句的 RHS 上按名称添加列也可以使用 来正常工作mutate(mpg = .data[[x_value]] * 10) %>%。
然而,当我在方程的 LHS 上使用变量时,我.data[[]]得到:!!sym()mutate(.data[[x_value]] = mpg * 10) %>%
Error: unexpected '=' in:
"data %>% filter( .data[[remove_col]] != {{ remove_val }} ) %>%
mutate(.data[[x_value]] ="
Run Code Online (Sandbox Code Playgroud)
显而易见的问题是:为什么这不起作用?显而易见的后续问题是:如何使用变量来指定要变异的列?
作为参考,工作示例:
Error: unexpected '=' in:
"data %>% filter( .data[[remove_col]] != {{ remove_val }} ) %>%
mutate(.data[[x_value]] ="
Run Code Online (Sandbox Code Playgroud)

#// library
library(tidyverse) …Run Code Online (Sandbox Code Playgroud)