我有一个数据库,我有一个包含三组日期和时间(总共六列)的事件列表。我想将其转换为POSIX以便稍后操作。问题是在创建三个新列以将日期和时间粘贴到单个字符串后,当我尝试转换为POSIX时,只有第一个是成功的,后两个只包含日期。
起初我以为可能有些条目没有时间,但我查了一下,哪些行都有两件事,只返回日期。
日期首先是欧洲格式,日期和时间列也是我阅读数据时的因素。我正在使用as.Date(data$DateAlert, format = '%d/%m/%Y')
转换为新格式,之后我使用paste(data$DateAlert, data$HourAlert)
,创建POSIX格式的字符串,如2001-07-29 14:53:10
。我已经确认包含这些字符串的列是类型字符,所以我猜POSIXct不会有太多麻烦。
在转换为POSIX之前,我得到类似的结果:
$ Alert : chr "2001-07-29 15:32:00" "2001-07-02 12:59:00" "2001-07-31 23:37:00" "2001-08-01 17:02:00"
$ Complete : chr "2001-07-29 17:20:00" "2001-07-03 02:39:00" "2001-08-01 02:53:00" "2001-08-01 17:24:00"
$ Inter : chr "2001-07-29 14:53:10" "2001-07-02 12:26:32" "2001-07-31 22:37:57" "2001-08-01 16:19:25"
转换为POSIX后,使用as.POSIXct()
我得到这样的内容:
$ Alert : POSIXct, format: "2001-07-29 15:32:00" "2001-07-02 12:59:00" "2001-07-31 23:37:00" "2001-08-01 17:02:00" ...
$ Complete : POSIXct, format: "2001-07-29" "2001-07-03" "2001-08-01" "2001-08-01" ...
$ Inter : POSIXct, format: "2001-07-29" "2001-07-02" "2001-07-31" "2001-08-01" ...
知道我做错了什么吗?我没有找到任何与此问题类似的线程