假設我在 R 中有一個小時-分鐘變數,即
y = c("09:05" "09:06" "09:06" "09:06" "09:06" "09:06" "09:06" "09:06" "09:07" "09:07" "09:07" "09:07" "09:07" "09:07" "09:07" "09:07" "09:07"
"09:07" "09:07")
class(y)
[1] "POSIXlt" "POSIXt"
我想找到一種方法來填補缺少的小時-分鐘的空白并保留原始的重復值,即我想要的輸出向量的形式
y = c("00:00","00:01","00:02",....,"23:58","23:59")
有沒有聰明的方法來做到這一點?
uj5u.com熱心網友回復:
這是一個選項,base R通過轉換為POSIXct,獲取序列,找到不在原始向量中的那些,然后連接 ( c) 和sort
y1 <- as.POSIXct(y, format = '%H:%M')
y2 <- seq(as.POSIXct('00:00', format = '%H:%M'),
as.POSIXct('23:59', format = '%H:%M'), by = 'min')
y3 <- format(sort(c(y2[!y2 %in% y1], y1)), '%H:%M')
資料
y <- c("09:05", "09:06", "09:06", "09:06", "09:06", "09:06", "09:06",
"09:06", "09:07", "09:07", "09:07", "09:07", "09:07", "09:07",
"09:07", "09:07", "09:07", "09:07", "09:07")
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/339995.html
標籤:r
