我已阅读http://dplyr.tidyverse.org/articles/programming.html关于 dplyr 中的非标准评估,但仍然无法正常工作。
plot_column <- “columnA”
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()
将输出一个有序的条形图。如何将其包装到可以替换列并获得多个条形的函数中?