首页 > 解决方案 > 月-年组合的 stat_count

问题描述

我想绘制数据框中某个日期的出现次数。我写了以下内容:

dates <-  c("2018-01-03", "2018-01-17", "2018-02-03", "2018-02-03", "2018-02-16", 
            "2018-02-26", "2018-03-03")
data <- as.data.frame(dates) 

ggplot(data) +
  stat_count(aes(x = (dates)))

在此处输入图像描述

基本上,代码绘制了日期中每个日-月-年组合的出现次数。现在,我想创建一个图表来计算日期中每个月-年组合的出现次数。基本上,考虑到图片,具有相同月份年份的条形应该是一个在另一个之上。有谁有想法吗?

标签: rggplot2

解决方案


library(tidyverse)
dates <-  c("2018-01-03", "2018-01-17", "2018-02-03", "2018-02-03", "2018-02-16", 
            "2018-02-26", "2018-03-03")
data <- as.data.frame(dates) 

data <- mutate(data,
               dates = lubridate::as_date(dates),
               year_month=paste(lubridate::year(dates),
                                str_pad(lubridate::month(dates), width = 2, pad = 0),
                                sep="-"))

ggplot(data) +
  stat_count(aes(x = year_month))

在此处输入图像描述

如果您希望日期可以区分(不确定这对于现实世界的示例有多大用处),您可以使用fill, 请注意factor(dates),以便将dates其视为一个因素。

ggplot(data) +
  stat_count(aes(x = year_month, fill=factor(dates)))

在此处输入图像描述


推荐阅读