我对如何将函数参数传递给 dplyr 和 ggplot 代码感到困惑。我正在使用最新版本的 dplyr 和 ggplot2 这是我生成条形图的代码(清晰度与平均价格)
diamond.plot<- function (data, group, metric) {
group<- quo(group)
metric<- quo(metric)
data() %>% group_by(!! group) %>%
summarise(price=mean(!! metric)) %>%
ggplot(aes(x=!! group,y=price))+
geom_bar(stat='identity')
}
diamond.plot(diamonds, group='clarity', metric='price')
错误:
Error in UseMethod("group_by_") : no applicable method for 'group_by_' applied to an object of class "packageIQR"
对于最新版本的 dplyr,下划线的 verbs_() 已被轻柔地弃用。看来我们应该使用quosures。
我的问题:
- 有人可以澄清目前的最佳做法吗?
上面的代码有什么问题?(请不要使用下划线 dplyr 动词..)
在 ggplot 中,我知道我们可以使用 aes_string(),但在我的例子中,aes 中只有一个参数是从函数参数传递的。
提前致谢。