希望fastPOSIXct
能够发挥作用,但在这种情况下没有起作用。
这是我的时间数据(不含日期)- 我需要从中获取小时部分。
times <- c("9:46","11:06", "14:17", "19:53", "0:03", "3:56")
这里是fastPOSIXct
的错误输出:
fastPOSIXct(times, "GMT")
[1] "1970-01-01 00:00:00 GMT" "1970-01-01 00:00:00 GMT"
[3] "1970-01-01 00:00:00 GMT" "1970-01-01 00:00:00 GMT"
[5] "1970-01-01 00:00:00 GMT" "1970-01-01 00:00:00 GMT"
没有日期的情况下,它不能正确识别时间。
data.table
的 hour
方法与 as.ITime
可以解决这个问题,但在大型时间数组上速度较慢。
library(data.table)
hour(as.ITime(times))
# [1] 9 11 14 19 0 3
想知道是否有一种更快的方式(就像fastPOSIXct
那样,但不需要日期)。
fastPOSIXct
确实很快,但是有点不准确。