如何在 r 上将数字(例如 14.5)格式化为小时(例如 14:30)?

How to format numeric, such 14.5, to hour, such as 14:30, on r?

我有一个名为 "hh" 的数字列,其小时数格式如下:

hh
14.5
15.0
15.5

...代表一整天 我想将格式设置为小时,例如:

14:30
15:00
15:30

我试过了

format(as.POSIXct(Sys.Date()+df$HH), "%H:%M", tz="UTC", origin="UTC") 

并没有奏效。 有什么建议么?

因为您询问如何格式化数字,这里有一个解决方案可以将结果输出为具有所需格式的字符串。

library(stringr)
paste(hh %/% 1, str_pad(60 * (hh - (hh %/% 1)), width = 2, pad = 0), sep = ":")

如果您希望将其保存为 POSIX 对象,您应该参考@loki 在评论中发布的内容。