R 如何将以H:M:S为单位的时间转换为十进制分钟?
我有一个表,其中包含以下一组数字:R 如何将以H:M:S为单位的时间转换为十进制分钟?,r,time,R,Time,我有一个表,其中包含以下一组数字: Time in Hours Used 1:05:34 1:04:45 1:12:04 34:17 43:35 。。。进行55次观察 如何创建以小时为单位的时间以分钟为单位的新列。我知道我可以把它乘以24*60,但出于某种原因,当我这么做的时候,它说因子不能乘以 我尝试过其他程序,比如chronos,但它们要求我输入每一个值,并为所有55个观测值创建一个值向量。我怎么能把这些值乘以24*60,在一分钟内得到它们呢 我们可以使用gue
Time in Hours Used
1:05:34
1:04:45
1:12:04
34:17
43:35
。。。进行55次观察
如何创建以小时为单位的时间以分钟为单位的新列。我知道我可以把它乘以24*60,但出于某种原因,当我这么做的时候,它说因子不能乘以
我尝试过其他程序,比如
chronos
,但它们要求我输入每一个值,并为所有55个观测值创建一个值向量。我怎么能把这些值乘以24*60,在一分钟内得到它们呢 我们可以使用guess\u formats
fromlubridate
获取数据集列中的多种格式,使用parse\u date\u time
中的格式转换为日期时间类。我们使用格式
提取时间部分(%H:%M:%S
),使用时间
从时间
转换为时间
类,然后在转换为数值
后乘以24*60
library(chron)
library(lubridate)
as.numeric(times(format(parse_date_time(df1[,1],guess_formats(df1[,1],
c('hms', 'ms'))), '%H:%M:%S')))*24*60
数据
df1如果它是H:M:S
格式,为什么要乘以24*60?把小时乘以60,然后加上分钟?你没有一天的时间,是吗?正如我上面提到的,为什么要乘以24*60?它将天转换为分钟,而不是小时转换为分钟。@LateMail我不知道,只是根据OP所描述的内容对其进行编码。@LateMailtimes
将H:M:S
表示为一天的一小部分(即24小时)。因此,as.numeric(times(“12:00:00”)
给出了0.5
0.5*24
以小时为单位给出12
。而12*60
在几分钟内给出720
。
df1 <- structure(list(timeinhours = structure(c(2L, 1L, 3L, 4L, 5L),
.Label = c("1:04:45", "1:05:34", "1:12:04", "34:17", "43:35"),
class = "factor")), .Names = "timeinhours", row.names = c(NA, -5L),
class = "data.frame")