Мы можем использовать sprintf
, чтобы выполнить форматирование, а затем преобразовать в Time
с помощью as.ITime
library(data.table)
as.ITime(sub("(..)", "\\1:", sprintf("%04d:00", v1)))
#[1] "01:00:00" "02:00:00" "23:00:00"
Как упоминалось @Claudio, если это вектор строк, замените %04d
с %04s
данными
v1 <- c(100, 200, 2300)