如何将字符转换为持续时间?

时间:2019-01-01 23:00:33

标签: r

首先,大家新年快乐。

我正在研究一种计算Excel电子表格收集的不同类型活动中的时间花费的方法,但是我遇到了使用持续时间数据的问题。

读取文件后,所有时间值都是字符类型,我无法转换为HH:MM:SS。

数据框示例:

df <- data.frame(id=c(1,2,3,4,5,6),
             name=c('Sean','Bob','Dylan',"Barbara","Louis","Marine"),
             Swimming=c("00:00:00","00:30:22","00:42:22",
                        "00:50:53","00:20:11","00:30:12"),
             Skating=c("00:10:23","00:10:22","00:02:22",
                       "00:20:53","00:30:11","00:10:12"))

我需要将“游泳和滑冰”列的此CHR值转换为一个持续时间以进行操纵,例如,我想知道他们所有人花了多少小时进行游泳活动。

在我已经尝试过的内容下面找到:

润滑包(parse_date_time)函数:

parse_date_time(df[3:4],"HMS")

给我这个警告:

  

警告信息:   所有格式均无法解析。找不到格式。

你们能以我可以操纵的方式来转换这些数据吗?

提前谢谢!

2019年快乐

1 个答案:

答案 0 :(得分:1)

我刚刚成功测试了@thelatemail 的建议。它工作得很好。然后我只是转换为小时。

只是将在此处复制您的@thelatemail 回复,供那些感到迷茫和忽视评论的人使用:

as.duration(hms(df$Swimming)) 我认为更可取。 sum(hms(df$Swimming)) 给出了一个非常奇怪的结果,而 sum(as.duration(hms(df$Swimming))) 给出了一个更预期的结果。