相关疑难解决方法(0)

将函数参数传递给dplyr和ggplot

我对如何将函数参数传递给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')
Run Code Online (Sandbox Code Playgroud)

错误:

Error in UseMethod("group_by_") : no applicable method for 'group_by_' applied to an object of class "packageIQR"
Run Code Online (Sandbox Code Playgroud)

对于最新版本的dplyr,强调不推荐使用强调的verbs_().好像我们应该使用quosures.

我的问题:

  • 有人可以澄清目前的最佳做法吗?
  • 上面的代码出了什么问题?(没有下划线dplyr动词请..)

  • 在ggplot中,我知道我们可以使用aes_string(),但在我的例子中,只有一个参数在aes中从函数参数传递.

提前致谢.

r ggplot2 dplyr tidyeval rlang

14
推荐指数
2
解决办法
1788
查看次数

标签 统计

dplyr ×1

ggplot2 ×1

r ×1

rlang ×1

tidyeval ×1