R align.time/aggregate中的错误?

R align.time/aggregate中的错误?,r,time-series,aggregate,xts,timezone,R,Time Series,Aggregate,Xts,Timezone,我有一个时间序列x: dput(x) structure(c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28.8, 0, 0, 0, 0, 0, 0, 0, 0), index = structure(c(1193524740, 1193525340, 1193525940, 1193526540, 1193527140, 1193527740, 1193528340, 1193528940, 1193529540, 1193530140, 119353

我有一个时间序列x:

dput(x)
structure(c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28.8, 0, 0, 
0, 0, 0, 0, 0, 0), index = structure(c(1193524740, 1193525340, 
1193525940, 1193526540, 1193527140, 1193527740, 1193528340, 1193528940, 
1193529540, 1193530140, 1193530740, 1193531340, 1193531940, 1193532540, 
1193533140, 1193533740, 1193534340, 1193534940, 1193535540, 1193536140, 
1193536740, 1193537340), class = c("POSIXct", "POSIXt")), class = "zoo")
我总共需要1小时

as.xts(aggregate(x, align.time(index(x), 60*60))) 
                    [,1]
2007-10-28 00:00:00  0.0
2007-10-28 01:00:00  0.0
2007-10-28 01:00:00 28.8
2007-10-28 02:00:00  0.0
2007-10-28 03:00:00  0.0
如你所见,我得到了“2007-10-28 01:00:00”的副本


我想知道这是一个bug还是我做错了什么?

很可能这不是bug,而是您所在地区的问题

library(xts)

## Loading required package: zoo
## 
## Attaching package: 'zoo'
## 
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric

library(zoo)
v <- rep(0,22)
v[14] <- 28.8

d <- c(1193524740, 1193525340, 1193525940, 1193526540, 1193527140, 1193527740, 1193528340, 1193528940, 1193529540, 1193530140, 1193530740, 1193531340, 1193531940, 1193532540, 1193533140, 1193533740, 1193534340, 1193534940, 1193535540, 1193536140, 1193536740, 1193537340)
orig <- "1970-01-01 00:00.00 UTC"

# Output with duplicate...
x <- zoo(v, as.POSIXct( d, tz="Europe/London", origin=orig) )
as.xts(aggregate(x, align.time(index(x), 60*60)))

##                     [,1]
## 2007-10-28 00:00:00  0.0
## 2007-10-28 01:00:00  0.0
## 2007-10-28 01:00:00 28.8
## 2007-10-28 02:00:00  0.0
## 2007-10-28 03:00:00  0.0

# Output with duplicate...
x <- zoo(v, as.POSIXct( d, tz="UTC", origin = orig) )
as.xts(aggregate(x, align.time(index(x), 60*60)))

##                     [,1]
## 2007-10-27 23:00:00  0.0
## 2007-10-28 00:00:00  0.0
## 2007-10-28 01:00:00 28.8
## 2007-10-28 02:00:00  0.0
## 2007-10-28 03:00:00  0.0
库(xts)
##装载所需包裹:zoo
## 
##附上包裹:“动物园”
## 
##以下对象已从“package:base”屏蔽:
## 
##as.Date,as.Date.numeric
图书馆(动物园)

v我的第一个想法是夏令时,但在2007年是。但是根据2006年以前的规则,10月28日应该是日期。@Edward:DST在美国可能是11月4日,但世界上还有很多其他国家。。。这很可能是TZ/DST问题。@JoshuaUlrich Fair point!我为我住在哪里而道歉!是的。许多国家将2007年10月28日作为DST结束日期。