我有一个十进制格式的时间:22,13
以小时为单位,我想用R将其表示为HH:MM
。我的意思是,22:08
(折旧秒数)
任何人都可以帮助我吗?
将字符串扫描为s
作为数字,将其除以24,以便我们可以将其转换为times
类(因为times
期望是一天的一部分),将其四舍五入并删除尾随的[C0 ]
:00
[如果您希望截断秒数而不是舍入到最接近的分钟数,则在标记为##的行中将library(chron)
x <- c("22,13", "5,20") # test data
s <- scan(text = x, dec = ",", quiet = TRUE)
sub(":00$", "", round(times(s/24), "min")) ##
## [1] "22:08" "05:12"
替换为round
,或将整个行替换为:
trunc
语法format(as.chron(s/24), format = "%H:%M") # truncate
是将值舍入为整数,并使其始终为2个单位。因此,%02.0f
分钟将转换为字符7.8
。
"08"