[R] cbind(NULL,zoo.object)?
Gabor Grothendieck
ggrothendieck at gmail.com
Sun Mar 15 10:41:07 CET 2009
I've just committed a fix to the zoo svn repository. You can grab it like this:
source("http://r-forge.r-project.org/plugins/scmsvn/viewcvs.php/*checkout*/pkg/R/merge.zoo.R?rev=575&root=zoo")
On Sun, Mar 15, 2009 at 2:54 AM, Ajay Shah <ajayshah at mayin.org> wrote:
> Folks,
>
> I often build up R objects starting from NULL and then repeatedly
> using rbind() or cbind(). This yields code like:
>
> a <- NULL
> for () {
> onerow <- craft one more row
> a <- rbind(a, onerow)
> }
>
> This works because rbind() and cbind() are forgiving when presented
> with a NULL arg: they act like nothing happened, and you get
> all.equal(x,rbind(NULL,x)) or all.equal(x,cbind(NULL,x)).
>
> This same idea is useful in building up a zoo matrix, by cbinding one
> column after another. I find this quite elegant, though I'm conscious
> that it leads to a lot of expensive memory management.
>
> This approach breaks around zoo because cbind(NULL,z) doesn't work:
>
> > tmp <- structure(c(2.65917577210146, 1.17190441781228, 0.838363890267146,
> -0.293979039853021, -0.132437820890186,
> 0.262002985990861, 2.16601367541420,
> 0.375245019370496, 0.0108451048014047,
> 1.56555812127923), index = structure(c(12509,
> 12510, 12513, 12514, 12515, 12516, 12521, 12524, 12528,
> 12529), class = "Date"), class = "zoo")
> > tmp
> 2004-04-01 2004-04-02 2004-04-05 2004-04-06 2004-04-07 2004-04-08
> 2.65917577 1.17190442 0.83836389 -0.29397904 -0.13243782 0.26200299
> 2004-04-13 2004-04-16 2004-04-20 2004-04-21
> 2.16601368 0.37524502 0.01084510 1.56555812
> > cbind(NULL,tmp)
> 12509 12510 12513 12514 12515 12516
> 2.65917577 1.17190442 0.83836389 -0.29397904 -0.13243782 0.26200299
> 12521 12524 12528 12529
> 2.16601368 0.37524502 0.01084510 1.56555812
> Warning message:
> In merge.zoo(..., all = all, fill = fill, suffixes = suffixes, retclass = "zoo") :
> Index vectors are of different classes: integer Date
>
> Is there an easy workaround; or am I deeply confused; is there a way
> out? :-)
>
> --
> Ajay Shah http://www.mayin.org/ajayshah
> ajayshah at mayin.org http://ajayshahblog.blogspot.com
> <*(:-? - wizard who doesn't know the answer.
>
> ______________________________________________
> R-help at 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.
>
More information about the R-help
mailing list