2017-06-29 89 views
1

我想索引1分鐘頻率數據集的特定分鐘數。 (我一直使用'T ../ T ..',因爲.indexmin有(/有?)一些problems with timezones.xts子集 - 夏令時

以下兩個xts對象具有相同的長度(nrow),沒有重複和下面的子集應該返回零(凌晨2點沒有觀察)。一個工作,另一個不工作(返回所有obs)。我認爲這與DST轉換有關(儘管兩者都以EDT作爲索引)。 Sys.timezone()也設置爲EST5EDT。任何想法如何解決這一問題?

xcheck1 <- readRDS(gzcon(url("https://dl.dropboxusercontent.com/s/8yg9q854umipjna/xts_problem_1.rds"))) 
xcheck2 <- readRDS(gzcon(url("https://dl.dropboxusercontent.com/s/qm83b0ayz03appg/xts_problem_2.rds"))) 
xcheck1['T02:00/T02:00:10'] 
xcheck2['T02:00/T02:00:10'] 

回答

1

這是a bug,並已在最新發布CRAN(0.10-0)。現在它返回你期望的(無),在這兩種情況下。

library(xts) 
Sys.setenv(TZ = "EST5EDT") 
urls <- paste0("https://dl.dropboxusercontent.com/s/", 
       c("8yg9q854umipjna", "qm83b0ayz03appg"), 
       "/xts_problem_", 1:2, ".rds") 
xcheck1 <- readRDS(gzcon(url(urls[1]))) 
xcheck2 <- readRDS(gzcon(url(urls[2]))) 
xcheck1['T02:00/T02:00:10'] 
#  AUDUSD.ask.Close 
xcheck2['T02:00/T02:00:10'] 
#  AUDUSD.ask.Close 
packageVersion("xts") 
# [1] '0.10.0'