【发布时间】:2017-06-10 18:19:53
【问题描述】:
我有一些两年的交易数据,我想在 R 中分析。它具有以下结构:
date weekday salesval
1 2003-10-31 Mi 425.36
2 2003-10-31 Mi 1504.50
3 2003-10-31 Mi 170.14
4 2002-03-12 Mo -215.80
5 2002-02-08 Mi 0.00
6 2002-04-17 Do 215.80
我想通过使用 ggplot2 图形系统来说明每个工作日的平均总销售额。
我已经尝试过使用stat_summary 函数,但正如您所见,我的方法只计算每个工作日每笔交易的平均销售额。但我想要每个工作日的平均总销售额。
ggplot(data, aes(weekday, salesval)) +
stat_summary(fun.y = function(x) { sum(x) / length(x) }, geom = "bar") +
scale_y_continuous(labels = dollar) +
ylab("Sales") +
xlab("Weekday") +
ggtitle("Average Sales per Weekday")
我知道我的代码有什么问题,但我不知道如何实现我的实际目标。
希望有人可以帮助我。
最好的祝愿, 马库斯
【问题讨论】:
-
一种更灵活的方法是首先使用专用于该目的的库进行数据聚合,例如
dplyr(group_by()和summarize()),然后使用ggplot2进行可视化聚合数据框。 -
@mpjdem 是的,你可能是对的。但是有没有办法用 ggplot2 一步一步地做到这一点?
-
我不是
ggplot2专家,但您必须在这里进行双重聚合,首先是日期,然后是工作日。汇总函数只采用单个向量,因此任何仅使用stat_summary的解决方案我会说充其量是尴尬的。