passar argumentos de função para dplyr e ggplot
Estou confuso sobre como passar o argumento da função para os códigos dplyr e ggplot. Estou usando a versão mais recente do dplyr e ggplot2 Aqui está o meu código para produzir um gráfico de barras (clareza versus preço médio)
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')
erro:
Error in UseMethod("group_by_") : no applicable method for 'group_by_' applied to an object of class "packageIQR"
Para a versão mais recente do dplyr, os verbos sublinhados_ () são suavemente preteridos. Parece que deveríamos usar quosures.
minhas perguntas:
Alguém pode esclarecer as melhores práticas atuais para isso?o que havia de errado com o código acima? (sem verbos dplyr sublinhados, por favor ..)
No ggplot, eu sei que podemos usar aes_string (), mas no meu caso, apenas um dos parâmetros no aes é passado do argumento da função.
Desde já, obrigado.