Мы можем использовать sub
с sprintf
. sprintf
используется, поскольку количество цифр не одинаково (3 или 4), для 3 цифр sprintf
дополняет 0 спереди (%04d
), чтобы сделать его согласованным при добавлении :00
в конце , затем используйте sub
, чтобы захватить первые цифры или символы ((..)
), и замените на обратную ссылку захваченной группы (\\1
), за которой следует :
sub("^(..)", "\\1:", sprintf("%04d:00", df1$Time))
#[1] "17:30:00" "14:10:00" "08:45:00" "10:30:00"
data
df1 <- structure(list(Time = c(1730, 1410, 845, 1030)), class = "data.frame",
row.names = c(NA,
-4L))