首页 > 解决方案 > 按月分组的数据直方图

问题描述

如果我想按月汇总数据,一种方法如下:

library(dplyr)
library(lubridate)
set.seed(2017)
options(digits=4)

(expenses <- data_frame(
   date=seq(as.Date("2016-01-01"), as.Date("2016-12-31"), by=1),
   amount=rgamma(length(date), shape = 2, scale = 20)))

然后我按月总结如下:

expenses %>% group_by(month=floor_date(date, "month")) %>%
summarize(amount=sum(amount))

我想绘制amount每个月的变量直方图。我怎么能做到?

标签: rhistogram

解决方案


从分面中提取月份值date并使用分面,您可以在单独的图中显示每个月的直方图。

library(dplyr)
library(ggplot2)

expenses %>%
  arrange(date) %>%
  mutate(month = format(date, '%b %Y'), 
         month = factor(month, unique(month))) %>%
  ggplot() + aes(amount) + 
  geom_histogram(bins = 10) + 
  facet_wrap(~month)

在此处输入图像描述


推荐阅读