r - 向假人解释 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)
解决方案
aes_string
已被弃用。试试这个功能:
make_plot <- function(data, plot_var) {
ggplot(data) + aes(x = .data[[plot_var]]) + geom_area(alpha = 0.5)
}
推荐阅读
- python - 将多种格式日期转换为仅一种
- scikit-learn - Scikit Spectral Clustering 无法对同心圆进行分类
- javascript - 如何在每毫秒滴答的 onTick 事件中设置状态
- reactjs - 组件和自定义钩子有什么区别?
- python - 用于查找覆盖字符串区域的最少 k-mer 的快速算法
- javascript - 如何制作一个匿名的 DM Discord 机器人,该机器人将仅在指定频道或图像和文件中发布图像,然后确认它已收到
- c++ - LeetCode 问题。两个 Sum 链表版本 C++
- android - 在导入错误后更新 Android 中的 OneSignal 依赖项
- sql - SQL Server 将行转换为列
- python - 如何使用 Python 读取任何用户的 GMAIL 收件箱?