【问题标题】:Convert "0000" into a lubridate in R将“0000”转换为R中的润滑
【发布时间】:2018-08-21 07:42:17
【问题描述】:

看起来很简单,对我来说是一个脑筋急转弯。 我得到了这个

times1 <- c(0000, 0720, 2315, 0600, 1150, NA, 0000)

我想用我得到lubridate格式的hm函数在几小时和几分钟内转换这个数字。

非常感谢您的帮助! 最良好的祝愿, 罗宾

【问题讨论】:

    标签: r data-conversion lubridate


    【解决方案1】:

    由于您的目标是转换为小时和分钟,因此您需要使用 hm 函数而不是 hms 函数:

    times1 <- c('0000', '0720', '2315', '0600', '1150', NA, '0000')
    hm(sub("(\\d{2})","\\1:",times1))
    [1] "0S"         "7H 20M 0S"  "23H 15M 0S" "6H 0M 0S"   "11H 50M 0S"
    [6] NA           "0S"        
    

    【讨论】:

    • 完美运行!非常感谢!
    【解决方案2】:

    试试这个选项:

    times1 <- c('0000', '0720', '2315', '0600', '1150', NA, '0000')
    ts <- ifelse(is.na(times1),
                 NA,
                 paste0(substr(times1, 1, 2), ":", substr(times1, 3, 4), ":00"))
    x <- hms(ts)
    

    【讨论】:

    • 非常感谢。但是,我仍然收到该消息: In .parse_hms(..., order = "HMS", quiet = quiet) : Some strings failed to parse, or all strings are NAs 你遇到过这个问题吗?
    • 我刚刚更新了我的答案,再试一次。 (重新加载您的页面)。
    • 感谢更新。不幸的是,我仍然收到相同的错误消息。也许是我的时间设置的问题?
    • 我刚刚又更新了,可惜暂时无法测试。
    • 更接近:"0::00" "72:0:00" "23:15:00" "60:0:00" "11:50:00" NA "0::00 " 与 NA 合作愉快!我现在正试图摆脱 ::
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-08
    • 1970-01-01
    • 2020-06-04
    • 1970-01-01
    • 2020-05-28
    • 1970-01-01
    • 2015-12-01
    相关资源
    最近更新 更多