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 的快速解决方案都会很棒。
感谢您的帮助!
干杯,拉乌尔
转换为Date
class后按'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)
我有以下数据
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 的快速解决方案都会很棒。
感谢您的帮助!
干杯,拉乌尔
转换为Date
class后按'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)