我正在清理数据框并尝试使用 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
感谢任何帮助。
最佳答案
或仅使用基数 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
关于r - 当列同时包含 hms 和 ms 时,lubridate 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49908795/