我有一个df
包含“消息”的数据框。每一行都是一条消息。每条消息都有一个df$messagedate
以 POSIXct 格式调用的时间戳%Y-%m-%d %H:%M:%S
。例子:
> head(df)
messageid user.id message.date
123 999 2011-07-17 17:54:27
456 888 2011-07-19 16:56:50
(这是dput()
上面的 'ed 版本):
df <- structure(list(messageid = c(123L, 456L), user.id = c(999L, 888L),
message.date = structure(c(1310950467, 1311119810), class = c("POSIXct",
"POSIXt"), tzone = "")), .Names = c("messageid", "user.id",
"message.date"), row.names = c(NA, -2L), class = "data.frame")
如何创建包含每天消息总数的数据框?例子:
day message.count
2011-07-17 1
2011-07-18 0
2011-07-19 1
而不是不包括没有消息的日期,我想确保message.count
那些日子的设置为零。
到目前为止我所做的:我通过以下方式提取了日历日部分message.date
:
df$calendar.day<-as.POSIXct(strptime(substr(df$message.date,1,10),"%Y-%m-%d",tz="CST6CDT"))
> head(df$calendar.day)
[1] "2011-07-17 CDT" "2011-07-18 CDT" "2011-07-19 CDT"
从那里我可以生成日期范围内每个日历日期的列表: daterange <- seq(min(df$calendar.day), max(df$calendar.day), by="day")