我有一个像这样的大数据集:
SUB DATE
1 4/16/2010 6:25
2 4/2/2010 7:35
3 5/30/2010 7:41
4 6/18/2010 8:10
5 6/8/2010 8:26
...
我想将DATE的时钟时间更改为00:00(AM)。预期的输出应如下所示:
SUB DATE
1 4/16/2010 00:00
2 4/2/2010 00:00
3 5/30/2010 00:00
4 6/18/2010 00:00
5 6/8/2010 00:00
...
有没有人知道要实现这个目标?
答案 0 :(得分:0)
使用lubridate
包非常容易:
require(lubridate)
largedata$DATE2 <- mdy_hm(largedata$DATE)
hour(largedata$DATE2) <- 0
minute(largedata$DATE2) <- 0
答案 1 :(得分:0)
strftime(paste(strptime(data$DATE, "%m/%d/%Y"), "00:00"), "%Y-%m-%d %H:%M")
似乎这个解决方案也没有返回“POSIXct”对象。如果您查看?strptime
文档,您会看到他们特别提到它:
格式
一个字符串。格式方法的默认值为“%Y-%m-%d%H:%M:%S”(如果有) 组件的时间分量不是午夜,否则为“%Y-%m-%d”。
之前已在此讨论,此处提到了一个临时解决方法: as.POSIXct with datetimes including midnight