我正在处理的r代码应该使用每隔五分钟收集一次的数据。 数据以csv格式保存。但是,由于收集的数据不一致,数据中的时间列有时代表时间戳而不仅仅是时间。(dd / mm / yyyy HH:MM,而不是HH:MM)
这会导致系统出错,因为系统会将数据读取为具有相同时间值的多个不同值。因此,我想从时间戳中省略日期格式,以便代码只读取时间值。
我失败的尝试是: as.Date(数据[[1]], “%H:%M”) 它给了我时间列的所有NA值。
我在SO中搜索过类似的问题,但我无法找到问题的明确答案。任何人都可以建议我使用一些可能的功能吗?
感谢您的帮助。
答案 0 :(得分:3)
您可以删除文本的日期部分,然后使用as.POSIXct
将它们全部转换为%H:%M
时间戳,例如:
x <- c("10:25","01/01/2014 10:30")
x <- gsub("^.+(\\d{2}:\\d{2})$","\\1",x)
as.POSIXct(x,format="%H:%M",tz="UTC")
#[1] "2014-06-02 10:25:00 UTC" "2014-06-02 10:30:00 UTC"