假设我的数据框中有一列仅包含字符串对象:
"00:20:10"
"02:12:10"
ETC
我只想将这些字符串转换为相应的时间类型对象(在 chron 库中),这样我就可以执行计算平均时间等操作。我该怎么做?
我的尝试只是做时间(数据列),但我得到一个十进制值。
为简单起见,我假设一个 data.frame 只有一列。请注意,即使它显示为正确的时间格式,基础数据仍然是十进制值。
library("chron")
mydf <- data.frame(time = c("00:20:10", "02:12:10"), stringsAsFactors = FALSE)
mydf[] <- lapply(mydf,times)
mydf
time
1 00:20:10
2 02:12:10
str(mydf)
'data.frame': 2 obs. of 1 variable:
$ time:Class 'times' atomic [1:2] 0.014 0.0918
.. ..- attr(*, "format")= chr "h:m:s"
as.POSIXct('00:20:10', format='%H:%M:%S')
[1] “美国东部时间 2016 年 6 月 23 日 00:20:10”
as.POSIXct('2:12:10', format='%H:%M:%S')
[1] “美国东部时间 2016 年 6 月 23 日 02:12:10”
您还可以指定日期,通过
as.POSIXct('06/23/2016 00:20:10', format='%m/%d/%Y %H:%M:%S')
[1] “美国东部时间 2016 年 6 月 23 日 00:20:10”