转换" 0000"在R中的一个rubridate

时间:2018-03-13 06:27:18

标签: r data-conversion lubridate

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

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

我希望用hm函数转换这个数字,然后用lubridate格式转换这个数字。

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

2 个答案:

答案 0 :(得分:0)

尝试此选项:

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)

答案 1 :(得分:0)

由于您的目标是转换为小时和分钟,因此您需要使用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"