在R语言中将字符串转换为时间格式

convert string to time-format in R language

我有这样的字符串:

100
200
...
2300

如何将其转换为时间格式?

01:00:00
02:00:00
...
23:00:00

我必须在字符串中添加 0 吗? 我试过了

Data$Time <- formatC(Data$Time, digits = 6, flag = "0")

但是没用

我们可以使用 sprintf 进行格式化,然后使用 as.ITime

转换为 Time
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)