【发布时间】:2012-04-17 14:24:06
【问题描述】:
我有一个包含“消息”的数据框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"
从那里我可以生成日期范围内每个日历日期的列表: 日期范围
【问题讨论】:
-
如果你使用
dput(df)(或者可能是 dput(df[1:5, ]),你会得到一个可以帮助我们尝试的可重现版本
标签: r