使用 Chron 转换时间未按预期工作
converting times using Chron not working as intended
我有以下包含时间戳的向量。这些时间戳被记录为因素。
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
我该如何解决这个问题
您必须提供秒数:
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
我有以下包含时间戳的向量。这些时间戳被记录为因素。
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
我该如何解决这个问题
您必须提供秒数:
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