当列包含hms和ms时,lubridate失败

时间:2018-04-18 20:49:21

标签: r lubridate

我正在清理数据框并尝试使用lubridate将列转换为小时:分钟:秒。该列的格式只有分钟和秒(例如“36:10”),有些值有小时,分钟和秒(例如“1:06:32”)。我无法在lubridate中找到命令不会将这两个案例中的一个变成NA。

下面的示例(我添加了一个带有NA值的行,因为我的数据框有几个这样的行)

library(lubridate)
a <- c("36:10", "1:06:32", NA)
b <- hms(a)
b

[1] NA "1H 6M 32S" NA  

任何帮助表示感谢。

2 个答案:

答案 0 :(得分:3)

或仅用基数R缩短:

a <- c("36:10", "1:06:32", NA)

a2 <- ifelse(nchar(a) < 6, paste0("00:", a), a)

hms(a2)

> hms(a2)
[1] "36M 10S"   "1H 6M 32S" NA 

答案 1 :(得分:2)

为什么不粘贴在&#34; 0:&#34;如果只有一个冒号

numpy.load()