Lubridate-如何使用parse_date_time正确解析十进制分钟数

Lubridate-如何使用parse_date_time正确解析十进制分钟数,r,lubridate,R,Lubridate,假设有一个以分钟为单位的时间向量存储为十进制数。对于这个例子,我将选择2.5,这意味着2分30秒 我想使用lubridate的parse\u date\u time函数来解析这个。然而,我看到的输出是错误的。运行此线路后: parse_date_time(2.5, "M:S") 我得到以下输出: "0000-01-01 00:02:05 UTC" 而非预期 "0000-01-01 00:02:30 UTC" 不知何故,lubrid

假设有一个以分钟为单位的时间向量存储为十进制数。对于这个例子,我将选择2.5,这意味着2分30秒

我想使用lubridate的
parse\u date\u time
函数来解析这个。然而,我看到的输出是错误的。运行此线路后:

parse_date_time(2.5, "M:S")
我得到以下输出:

"0000-01-01 00:02:05 UTC"
而非预期

"0000-01-01 00:02:30 UTC"
不知何故,lubridate没有意识到我的
.5
并不意味着5秒,而是30秒,因为2分半是2分30秒,而不是2分5秒


我应该使用什么格式的
parse\u date\u time
来获得预期的输出?

这里有一个基本的R选项:

val <- 2.5
as.POSIXct(val*60, origin = '0000-01-01', tz = 'UTC')
#[1] "0000-01-01 00:02:30 UTC"

val这里有一个基本R选项:

val <- 2.5
as.POSIXct(val*60, origin = '0000-01-01', tz = 'UTC')
#[1] "0000-01-01 00:02:30 UTC"

val如果您想使用
lubridate
您可以这样做

library(lubridate)
time <- 2.5
as.period(as.duration(days(x=1))*(time/24))
#[1] "2H 30M 0S"
as.period(as.duration(days(x=1))*(time/1440))
#[1] "2M 30S"
库(lubridate)

时间如果你想使用
lubridate
你可以这样做

library(lubridate)
time <- 2.5
as.period(as.duration(days(x=1))*(time/24))
#[1] "2H 30M 0S"
as.period(as.duration(days(x=1))*(time/1440))
#[1] "2M 30S"
库(lubridate)

谢谢,但我需要0小时2分钟30分钟,这样你就可以从一天24小时变为1440分钟。谢谢,但我需要0小时2分钟30分钟,这样你就可以从一天24小时变为1440分钟。