Hullo
I may have missed something blindingly obvious here. I'm using xts to handle some timeseries data. I've got daily measurements for 100 years. If I try to reduce the error rate by taking means of each month, I'm getting what at first sight appears to be conflicting information. Here's a small subset to show the problem:

A small set of data:
> vv
             x
2010-02-01 6.1
2010-02-02 6.1
2010-02-03 6.0
2010-02-04 6.0
2010-02-05 6.0
2010-02-06 6.1
2010-02-07 6.1
2010-02-08 6.1
2010-02-09 6.1
2010-02-10 6.2

Aggregate:
> aggregate (vv, as.yearmon (index (vv)), mean)

Feb 2010 6.08

That's fine. But if I explicitly convert to xts (which the answer ought to be, so this should be a noop), the values shift back by one month:
> xts (aggregate (vv, as.yearmon (index (vv)), mean))
            x
Jan 2010 6.08

Just to confirm the classes:
> class (aggregate (vv, as.yearmon (index (vv)), mean))
[1] "zoo"

> class (vv)
[1] "xts" "zoo"

And to confirm that as.yearmon is returning the right month:
> as.yearmon (index (vv))
 [1] "Feb 2010" "Feb 2010" "Feb 2010" "Feb 2010" "Feb 2010" "Feb 2010"
 [7] "Feb 2010" "Feb 2010" "Feb 2010" "Feb 2010"

This run was on a stock Fedora 10 build:
> version
               _
platform       i386-redhat-linux-gnu
arch           i386
os             linux-gnu
system         i386, linux-gnu
status
major          2
minor          10.0
year           2009
month          10
day            26
svn rev        50208
language       R
version.string R version 2.10.0 (2009-10-26)

And from installed.packages ():
xts        NA               NA      "GPL-3"                "2.10.0"
zoo        NA               NA      "GPL-2"                "2.10.0"

Any help gratefully received.

Tim

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to