我很困惑如何函數的參數傳遞到dplyr和ggplot代碼。 我使用dplyr和GGPLOT2 這裏的最新版本是我的代碼產生barplot(淨度VS的平均價格)通功能參數都dplyr和ggplot
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的最新版本,強調的動詞_()被輕度棄用。看來我們應該使用quards。
我的問題:
- 有人能澄清這個目前最好的做法?
什麼是錯與上面的代碼? (沒有下劃線dplyr動詞..)
在ggplot中,我知道我們可以使用aes_string(),但在我的情況下,只有一個參數在aes從函數參數傳遞。
在此先感謝。
謝謝@sinQueso – zesla
我只想用'符號()'(或'as.name()'),而不是'parse_quosure()'在這種情況下。 – lionel
感謝您的建議@lionel,我更新了我的回答 – sinQueso