R 字符串填充时间

时间:2021-06-16 17:13:30

标签: r string

我有一个数据框,其中一列代表时间。但是,字符串的长度不一致,当我尝试转换它们时,我得到了 NA:

有没有办法填充 5 个字符的时间,使列中的所有值总共有 7 个字符?

times <- c("56:09", "1:05:19", "1:06:24", "1:07:22", "51:50", "57:51", "41:45", "58:25", "46:45", "58:52")

2 个答案:

答案 0 :(得分:2)

使用 nchar 中的 ifelse 创建条件并使用 as.ITime 中的 data.table 转换为时间

library(data.table)
as.ITime(ifelse(nchar(times) < 7, paste0("0:", times), times))
#[1] "00:56:09" "01:05:19" "01:06:24" "01:07:22" "00:51:50" "00:57:51" "00:41:45" "00:58:25" "00:46:45" "00:58:52"

答案 1 :(得分:0)

我发现这也有效:

times[which(nchar(times)==5)] <- paste0("00:", times[which(nchar(times)==5)])
相关问题