преобразование времени с использованием Chron не работает, как задумано - PullRequest
0 голосов
/ 13 февраля 2019

У меня есть следующий вектор, содержащий метки времени.Эти метки времени записываются как факторы.

times<-as.factor(c("8:24", "9:17","11:52","1:49","9:36"))

Я хочу преобразовать их в объекты времени, используя пакет chron.И я использовал следующий код

library(chron)

chron(as.character(times), format = "h:m")

, однако, когда я запускаю его, он сообщает

Error in widths[, fmt$periods, drop = FALSE] : subscript out of bounds

как мне обойти эту проблему

1 Ответ

0 голосов
/ 13 февраля 2019

Вы должны указать секунды:

times(paste0(times, ":00"))
## [1] 08:24:00 09:17:00 11:52:00 01:49:00 09:36:00

Они также работают:

times(c(as.matrix(read.table(text = as.character(times), sep = ":")) %*% c(1, 1/60)/24))
## [1] 08:24:00 09:17:00 11:52:00 01:49:00 09:36:00

times(as.numeric(sub(":.*", "", times)) / 24 + as.numeric(sub(".*:", "", times)) / (24 * 60))
## [1] 08:24:00 09:17:00 11:52:00 01:49:00 09:36:00
...