R - 如何将时间戳变成分钟?

时间:2013-09-07 23:38:33

标签: r loops for-loop

我有一个包含一堆时间戳的列,例如2:03:45,代表2小时3分45秒(不是2:03 PM)。我想知道如何将2:03:45变为分钟值,这将是123 + 45/60分钟。

我使用了strsplit(x$time, ":"),现在它已经分开了。有没有办法可以在行中运行for循环,这样它需要小时* 60 +分钟+秒/ 60?感谢。

1 个答案:

答案 0 :(得分:1)

安装chron包

 install.packages("chron")

加载库

  library(chron)

我创建一个时间戳字符串来播放

d=c("2:20:34","3:12:22")

将数据读入日期时间类

df=strptime(d,format='%H:%M:%S')

> minutes(df)
[1] 20 12
> hours(df)
[1] 2 3
> seconds(df)
[1] 34 22

所以我们需要做的就是从这三个

计算分钟数
   timeinminutes= 60*hours(df)+minutes(df)+seconds(df)/60