dplyr 每天计数观察

dplyr count observations per day

我有以下数据

Name         Date                                   Message
Ted Foe      2011-06-10T05:06:30+0000               I love this product
Sina Fall    2011-06-10T05:07:33+0000               Not my type of product
Steve Hoe    2011-06-11T05:06:30+0000               Great Discussion! Thanks
Selda Dee    2011-06-13T05:12:30+0000               Seen elsewhere
Steven Hoe   2011-06-13T03:17:31+0000               Where?
Selda Dee    2011-06-13T05:17:56+0000               Tinder

我想按天汇总,这样我就可以得到这样的时间序列

Date            Number of Posts
2011-06-10      2
2011-06-11      1
2011-06-12      0
2011-06-13      3

我已经尝试过以下方法

summary_df <- df %>% group_by(Date) %>% summarise(comments = count(message))

但这不起作用。任何基于 dplyr 的快速解决方案都会很棒。

感谢您的帮助!

干杯,拉乌尔

转换为Dateclass后按'Date'列分组,我们得到summarise的行数(n())。如果我们需要原始数据集中缺少的 'Date' 元素,请创建一个新数据集,其顺序为从最小值到最大值 'Date' 并执行 left_join

df1 <- df %>%
          group_by(Date = as.Date(Date)) %>%
          summarise(comments = n())
expand.grid(Date = seq(min(df1$Date), max(df1$Date), by = '1 day')) %>%
         left_join(., df1)