Message-ID: <CAAmySGN8AoTwKdP_QPCHbbbQ9AkLTZaAYW__WaDvkWbmRAJHwQ@mail.gmail.com>
Date: 2013-02-03T11:37:34Z
From: R. Michael Weylandt
Subject: Split xts data set into weeks
In-Reply-To: <CAPHn304Dxh36FuJ9mT65Reo3Um6fa5ZEjwayssoJdLo-PX9UeA@mail.gmail.com>
On Sun, Feb 3, 2013 at 6:57 AM, Seimizu Joukan <saimizi at gmail.com> wrote:
> Would you please paste the following codes to R console and make a confirmation?
>
Indeed, well done and much appreciated.
> #Codes start from here
>
> library("quantmod")
> tmp<-structure(c(112.34, 112.89, 112.75, 113.5, 115.16, 115.21, 114.84,
> 114.93, 115.05, 114.46, 113.34, 113.71, 113.56, 115.08, 115.97,
> 115.26, 115.22, 115.24, 115.24, 114.98, 111.96, 112.75, 112.5,
> 113.1, 114.85, 114.55, 114.55, 114.75, 114.2, 112.92, 112.87,
> 112.8, 113.54, 115.05, 115.06, 114.85, 114.93, 115.09, 114.28,
> 113.92), class = c("xts", "zoo"), .indexCLASS = "Date", tclass =
> "Date", .indexTZ = "", tzone = "", index = structure(c(1298818800,
> 1298905200, 1298991600, 1299078000, 1299164400, 1299423600, 1299510000,
> 1299596400, 1299682800, 1299769200), tzone = "", tclass = "Date"),
> .Dim = c(10L,
> 4L), .Dimnames = list(NULL, c("Open", "High", "Low", "Close")))
> class(tmp)
> (res1<-split(tmp,f="weeks"))
> (res2<-split(tmp,frequency="weeks"))
Looking at args(split.xts) I think you actually do want split(..., f =
) here, not split(..., frequency = ), which would ignore and default
to months.
I get the following for res1, running R-Devel on OS X 10.6.8:
> res1
[[1]]
Open High Low Close
2011-02-27 112.34 113.34 111.96 112.87
[[2]]
Open High Low Close
2011-02-28 112.89 113.71 112.75 112.80
2011-03-01 112.75 113.56 112.50 113.54
2011-03-02 113.50 115.08 113.10 115.05
2011-03-03 115.16 115.97 114.85 115.06
2011-03-06 115.21 115.26 114.55 114.85
[[3]]
Open High Low Close
2011-03-07 114.84 115.22 114.55 114.93
2011-03-08 114.93 115.24 114.75 115.09
2011-03-09 115.05 115.24 114.20 114.28
2011-03-10 114.46 114.98 112.92 113.92
so I think it's likely a timezone issue. Try setting
indexTZ(tmp) <- "GMT"
or something similar and giving it another shot.
You might also want to move to the R-SIG-Finance class where the
authors of xts are more frequently seen.
It might also help to report Sys.timezone() in addition to your
specific linux distro.
Cheers,
MW