看起来很简单,对我来说是一个很好的脑筋急转弯。 我得到了这个
times1 <- c(0000, 0720, 2315, 0600, 1150, NA, 0000)
我希望用hm函数转换这个数字,然后用lubridate
格式转换这个数字。
非常感谢你的帮助! 最好的祝愿, 罗宾
答案 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"