如何将持续时间的字符串表示形式转换为 R 中的十进制格式?

问题描述 投票:0回答:1

在我的数据文件中,我有一列代表学生在网站上完成不同学习模块所花费的总持续时间。例如,一名学生花费了 11 小时 30 分钟,因此其值将为“11h30m”。只在网站上花费 59 分钟的学生将获得“59m”。

如何将其转换为十进制格式,以便花费 11 小时 30 分钟的学生的值为 11.5?

我对 R 非常陌生,所以我真的不知道从哪里开始。我在 Python 中创建了一个函数来修复它,但现在确定如何在 R 中解决这个问题。

r string decimal
1个回答
0
投票

使用

m
 将分钟 
M
 更改为 
as.period

dat <- c("11h30m", "59m")

library(lubridate)

as.numeric(as.period(sub("m", "M", dat)), "hours")
[1] 11.5000000  0.9833333
© www.soinside.com 2019 - 2024. All rights reserved.