【发布时间】:2015-05-20 14:03:15
【问题描述】:
我想在 R 中将字符串转换为日期时间。
例如,我有 '20110101000' 作为字符串。我想将其转换为日期时间“2011-01-01 00:00”。我也想 '2011-01-01 01:00' 减去 '2011-01-01 00:00' = 1 小时。最终,我想有一个条件,如果两个日期时间之间的时间差不等于 1 小时
if(diff != 1){do something}
目前,我使用 as.Date 可以很好地将字符串转换为日期,但没有任何时间选项。 POSIXt 的结构也给了我一个奇怪的结果。
structure('201101010000',class=c('POSIXt', 'POSIXct'))
[1] "8342-08-21 19:40:00 EDT"
我有 100,000 多个文件必须运行此操作。请告诉我最有效的解决方案。
【问题讨论】:
-
不要使用
structure- 它不是一种用户友好的创建对象的方式 - 尝试例如:as.POSIXct("20110101000",format="%Y%m%d%H%M")虽然这对于"20110101100"会失败,因为它会认为你有上午 10 点而不是凌晨 1 点,因为小时/分钟没有分隔符。