5

与此类似:将函数参数传递给 dplyr 和 ggplot

我过去曾使用 !!sym() 没有任何可记的头痛。

但是,现在当我尝试此操作时出现错误:

library(rlang)
library(tidyverse)


diamond_plot <- function (data, group, metric) {
    quo_group  <- sym(group)
    quo_metric <- sym(metric)

    data %>%
        group_by(!! quo_group) %>%
        summarise(price = mean(!! quo_metric)) %>%
        ggplot(aes(x = !! quo_group, y = !! quo_metric)) +
        geom_col()
}

diamond_plot(diamonds, "clarity", "price")

错误是

Error in !quo_group : invalid argument type

我错过了什么?

4

0 回答 0