【问题标题】:R String Padding for TimesR字符串填充时间
【发布时间】:2021-06-16 17:13:30
【问题描述】:

我有一个数据框,其中有一列代表时间。但是,字符串的长度不一致,当我尝试转换它们时,我得到了 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")

【问题讨论】:

    标签: r string


    【解决方案1】:

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

    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"
    

    【讨论】:

      【解决方案2】:

      我发现这也有效:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-18
        • 1970-01-01
        • 1970-01-01
        • 2019-11-27
        • 1970-01-01
        • 2017-01-04
        相关资源
        最近更新 更多