我以这种格式存储日期(我的数据第一列)
> tmp[[1]]
# YYYYMMDD
19980102
我有这种格式的时间存储(我的数据的第二列)
> tmp[[2]]
#HHMM
0930
我想知道如何将其存储为R中的日期时间格式。我尝试过使用:
as.POSIXlt(paste(tmp[[1]], tmp[[2]]), format="%Y%m%d %H%M%S")
但我的输出是一堆NA
的
NA
答案 0 :(得分:1)
你快到了。您的主要问题是在时间字段中没有实际的秒数位时,在格式字符串末尾不正确使用%S
格式说明符。此外,我将paste()
更改为paste0()
并删除了格式字符串中的空格,尽管这并不重要。
tmp <- data.frame(date='19980102', time='0930', stringsAsFactors=F );
as.POSIXlt(paste0(tmp$date,tmp$time), format='%Y%m%d%H%M' );
## [1] "1998-01-02 09:30:00 EST"