【发布时间】:2017-08-03 07:25:35
【问题描述】:
我已阅读 http://dplyr.tidyverse.org/articles/programming.html 关于 dplyr 中的非标准评估,但仍然无法正常工作。
plot_column
raw_data %>%
group_by(.dots = plot_column) %>%
summarise (percentage = mean(columnB)) %>%
filter(percentage > 0) %>%
arrange(percentage) %>%
# mutate(!!plot_column := factor(!!plot_column, !!plot_column))%>%
ggplot() + aes_string(x=plot_column, y="percentage") +
geom_bar(stat="identity", width = 0.5) +
coord_flip()
在禁用 mutate 语句时工作正常。但是,当启用它以便按高度对条进行排序时,只会返回一个条。
如何将上面的语句转换为函数 / 以使用变量但仍绘制多个按大小排序的条形图。
一个示例数据集可以是:
columnA,columnB
a, 1
a, 0.4
a, 0.3
b, 0.5
编辑
一个样本:
mtcars %>%
group_by(mpg) %>%
summarise (mean_col = mean(cyl)) %>%
filter(mean_col > 0) %>%
arrange(mean_col) %>%
mutate(mpg := factor(mpg, mpg))%>%
ggplot() + aes(x=mpg, y=mean_col) +
geom_bar(stat="identity")
coord_flip()
将输出一个有序的条形图。 如何将其包装到可以替换列并获得多个条形的函数中?
【问题讨论】:
标签: r function ggplot2 dplyr non-standard-evaluation