R答案格式的时间转换

time converson in R answer format

所以我试图在 R 中编写一个函数,要求用户输入以秒为单位的时间值,然后将其转换回小时、分钟和秒。下面是我的功能:

startT <- function(x) {
    t <-(readline(prompt = "Please provide the inital time in seconds: "))
    t <- as.numeric(t)
    return (t)
}

time_conversion <- function(t) {
    h = t%/%3600
    m = (t%%3600)%/%60
    s = (t%%3600)%%60
    final <- c(h, m, s)
    return (final)
}    

然后使用以下我可以获得将结果打印为列表的函数,然后将其恢复为全局变量:

initialT<- startT(t)
print(time_conversion(initialT))
TimeF <-time_conversion(initialT)

然而,我希望(就像我在 python 中那样)将我的输出打印为:

xx seconds, xx minutes, and xx seconds

在我使用的 python 版本中:

return "%i hours, %i minutes, and %i seconds." %(hour, minutes, seconds)

根据 R 的输出,我知道我不需要控制作为变量的输出。但是有人可以帮我得到这个吗?我们刚刚开始使用 R,所以虽然我确信还有更高级的东西,但我不能使用它。

谢谢!!!!

在基础 R 中你可以使用

sprintf("%i hours, %i minutes, and %i seconds.", TimeF[1], TimeF[2], TimeF[3])

看看这个答案:

Convert seconds to days: hours:minutes:seconds

它使用 lubridate 包,甚至还有一个使用 sprintf() 的格式化示例。

-伊曼纽尔