首页 > 解决方案 > 向假人解释 quosure

问题描述

我正在尝试制作一个函数,当给定将变量传递给绘图时,它将产生一个绘图。该变量是从下拉列表中选择的 - 因此aes_string

make_plot <- function(data, plot_var) {
          plot_var <- enquo(plot_var)
          ggplot(data) +
            aes_string(x = !!plot_var) +
            geom_area(alpha = 0.5)
          }
        
make_plot(my_data, variable_i_want_to_plot)

我收到此错误:

Error: Quosures can only be unquoted within a quasiquotation context.
# Bad: list(!!myquosure) # Good: dplyr::mutate(data, !!myquosure)

标签: rggplot2shinyquosure

解决方案


aes_string已被弃用。试试这个功能:

make_plot <- function(data, plot_var) {
  ggplot(data) + aes(x = .data[[plot_var]]) + geom_area(alpha = 0.5)
}

推荐阅读