我想用openxlsx讀取帶時間序列數據的大型excel文件。我發現如果數字向量參數超過一定數量的元素,convertToDateTime將開始省略時間。我的代碼如下所示:Openxlsx convertToDateTime忽略大數據集的時間
ts <- readWorkbook(my.wb, sheet = as.character(r[["dSheet"]]),
startRow = 2, cols = 1,
colNames=FALSE, detectDates=FALSE)
colnames(ts) <- c("dt")
> head(convertToDateTime(ts$dt[1:30830]))
[1] "2016-11-23 15:20:00 MST" "2016-11-23 15:24:59 MST"
[3] "2016-11-23 15:30:00 MST" "2016-11-23 15:34:59 MST"
[5] "2016-11-23 15:40:00 MST" "2016-11-23 15:45:00 MST"
> head(convertToDateTime(ts$dt[1:30840]))
[1] "2016-11-23 MST" "2016-11-23 MST" "2016-11-23 MST" "2016-11-23 MST"
[5] "2016-11-23 MST" "2016-11-23 MST"
方的問題:如果你在我的原代碼,看看元素#2(2016年11月23日15時24分59秒),這實際上應該是15:25。如果有一個簡單的方法來解決這個問題,請讓我知道...
這裏有一個工作示例:
>library("openxlsx")
>dates <- runif(31000, 41000, 42000)
>head(convertToDateTime(dates[1:5000]))
[1] "2013-05-29 09:34:28 MDT" "2014-07-01 03:52:13 MDT"
[3] "2012-06-02 09:27:47 MDT" "2012-05-06 13:42:04 MDT"
[5] "2014-09-26 04:50:36 MDT" "2013-10-26 03:14:00 MDT"
> head(convertToDateTime(dates[1:10000]))
[1] "2013-05-29 MDT" "2014-07-01 MDT" "2012-06-02 MDT" "2012-05-06 MDT"
[5] "2014-09-26 MDT" "2013-10-26 MDT"
是否有此行爲的修復,或者您會推薦嘗試一種完全不同的方法(實施轉換)?
非常感謝您的幫助!