R xts子集在数月内给出了不正确的结果

R xts子集在数月内给出了不正确的结果,r,time-series,subset,xts,R,Time Series,Subset,Xts,我在MacOSX上使用R3.2.1,似乎在xts子集中遇到了不正确的行为。简言之,对月度数据进行分组得出的结果与实际结果相差1个月。下面是一个简单的例子,类似于我正在进行的古温度分析: 首先,我将为示例制作一些测试数据: xts.test <- xts(rnorm(440*12, mean=0, sd=10),order.by=timeBasedSeq(155001/1989)) 但是,当我尝试通过选择一年来对其进行子集划分时,我得到以下结果: xts.test["1550"]

我在MacOSX上使用R3.2.1,似乎在xts子集中遇到了不正确的行为。简言之,对月度数据进行分组得出的结果与实际结果相差1个月。下面是一个简单的例子,类似于我正在进行的古温度分析:

首先,我将为示例制作一些测试数据:

xts.test <- xts(rnorm(440*12, mean=0, sd=10),order.by=timeBasedSeq(155001/1989))
但是,当我尝试通过选择一年来对其进行子集划分时,我得到以下结果:

xts.test["1550"]

               [,1]
Feb 1550 12.1581413  
Mar 1550  3.9688139  
Apr 1550  3.9540268  
May 1550  9.8200923  
Jun 1550 -4.2090998  
Jul 1550  7.5950340  
Aug 1550 -6.5967389  
Sep 1550 -0.6736532  
Oct 1550  6.4939221  
Nov 1550  4.3916465  
Dec 1550 19.8800872  
Jan 1551 -2.9549224  
也就是说,我得到的不是正确的1550年1月-12月,而是1550年2月到1551年1月

当我试图通过选择一年中的几个月来进行子集划分时,我也会遇到类似的延迟<代码>c(2,3,4,5,6,7)让我从四月到九月,而不是从三月到八月


有什么想法吗

这是最近一次修复的错误


请您用
set.seed设置一个种子,并将
library
require
加载的所有软件包删除,好吗?这将有助于重现这种行为。谢谢。希望它能修复apply.year和相关方法。你能告诉我这什么时候可以作为一个可安装的软件包使用吗?FWIW,我试图使用R devtools安装xts的当前开发版本。但是,编译失败,因为它有一个对gfortran 4.8的调用(不需要???。@MichaelBarton:它是必需的。我假设你在Windows上;你安装了吗?我在Mac上。这是R包第一次调用gfortran。我在更高版本上安装了gfortran 4.8。xts仍然无法编译。所以我必须创建一个名为gfortran-4.8的符号链接到/usr/local/bin/gfortran。然后编译xts,没有问题。不幸的是,当我加载最新的xts(v.0.9.874)时,它仍然存在与我最初报告的相同的问题。因此,这似乎不是固定的。
xts.test["1550"]

               [,1]
Feb 1550 12.1581413  
Mar 1550  3.9688139  
Apr 1550  3.9540268  
May 1550  9.8200923  
Jun 1550 -4.2090998  
Jul 1550  7.5950340  
Aug 1550 -6.5967389  
Sep 1550 -0.6736532  
Oct 1550  6.4939221  
Nov 1550  4.3916465  
Dec 1550 19.8800872  
Jan 1551 -2.9549224  
R> require(xts)
R> xts.test <- xts(rnorm(440*12, mean=0, sd=10),order.by=timeBasedSeq(155001/1989))
R> packageVersion("xts")
[1] ‘0.9.7’
R> str(xts.test)  # notice TZ is not set
An ‘xts’ object on Jan 1550/Dec 1989 containing:
  Data: num [1:5280, 1] -8.11 -7.65 2.07 -3.29 17.03 ...
  Indexed by objects of class: [yearmon] TZ: 
  xts Attributes:  
 NULL
R> packageVersion("xts")
[1] ‘0.9.8’
R> str(xts.test)  # notice TZ is set
An ‘xts’ object on Jan 1550/Dec 1989 containing:
  Data: num [1:5280, 1] 0.357 12.318 24.291 22.181 6.123 ...
  Indexed by objects of class: [yearmon] TZ: UTC
  xts Attributes:  
 NULL