【发布时间】:2017-07-31 16:16:14
【问题描述】:
我正在尝试围绕 ggplot 创建一个包装器,它允许我添加一些美学,例如 x 变量或颜色,但始终预填充 y、ymin 和 ymax,而无需使用带引号的变量名字。
由于 ggplot2 无法使用 tidy 评估,我必须为此使用 NSE,但我被卡住了,我可以找到 here 和 here 的信息并检查一些功能让我尝试像 unlist(...) 和使用 @ 987654329@。但它们只会抛出不同的错误。
在下面的函数中,我基本上希望能够调用ci_plot() 或例如ci_plot(color = cyl)
library(dplyr)
library(ggplot2)
library(purrr)
library(tidyr)
ci_plot <- function(data, ...) {
ggplot(data, aes(..., y = y, ymin = ymin, ymax = ymax))
}
mpg %>%
group_by(manufacturer) %>%
nest() %>%
mutate(x = map(data, ~mean_se(.x$hwy))) %>%
unnest(x) %>%
ci_plot() +
geom_pointrange()
【问题讨论】: