I'm confused about how to pass function argument into dplyr and ggplot codes. I'm using the newest version of dplyr and ggplot2 Here is my code to produce a barplot (clarity vs mean price)
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:
Error in UseMethod("group_by_") : no applicable method for 'group_by_' applied to an object of class "packageIQR"
For the newest version of dplyr, the underscored verbs_() is softly deprecated. It seems like we should use quosures.
my questions:
- Can someone clarify the current best practice for this?
- what was wrong with the above code? (no underscore dplyr verbs please..) 
- In ggplot, I know we can use aes_string(), but in my case, only one of the parameter in the aes is passed from function argument. 
Thanks in advance.
 
     
    
 
     
     
    