-4

假设我的数据框中有一列仅包含字符串对象:

"00:20:10"
"02:12:10"

ETC

我只想将这些字符串转换为相应的时间类型对象(在 chron 库中),这样我就可以执行计算平均时间等操作。我该怎么做?

我的尝试只是做时间(数据列),但我得到一个十进制值。

4

2 回答 2

1

为简单起见,我假设一个 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"
于 2016-06-23T19:27:39.697 回答
0
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”

于 2016-06-23T19:10:58.827 回答