[R] recursively Merging a list a zoo objects
Gabor Grothendieck
ggrothendieck at gmail.com
Tue Jun 15 02:05:32 CEST 2010
On Mon, Jun 14, 2010 at 6:13 PM, steven mosher <moshersteven at gmail.com> wrote:
> The zoo package as a merge function which merges a set of zoo objects
> result<-merge(zoo1,zoo2,...)
>
> Assume your zoo objects are already collected in a list
>
> # make a phony list to illustrate the situation. ( hat tip to david W for
> constructing a list in a loop)
>
> ddat <- as.list(rep("", 20))
> ytd<-seq(3,14)
> for(i in 1:20) {
> + ddat[[i]] <- zoo(data,ytd )
> + }
>
>
merge.zoo can handle multiple zoo objects (not just two) so:
do.call("merge", ddat)
This also works but is a bit tedious:
merge(ddat[[1]], ddat[[2]], ddat[[3]], ddat[[4]], ddat[[5]],
ddat[[6]], ddat[[7]], ddat[[8]], ddat[[9]], ddat[[10]],
ddat[[11]], ddat[[12]], ddat[[13]], ddat[[14]], ddat[[15]],
ddat[[16]], ddat[[17]], ddat[[18]], ddat[[19]], ddat[[20]])
Also note that there is an example of using do.call with merge.zoo in
the examples section of ?merge.zoo
More information about the R-help
mailing list