merge.zoo {zoo} | R Documentation |

Merge two zoo objects by common indexes (times), or do other
versions of database *join* operations.

## S3 method for class 'zoo': merge(..., all = TRUE, fill = NA, suffixes = NULL, retclass = c("zoo", "list", "data.frame"))

`...` |
two or more objects, usually of class `"zoo"` . |

`all` |
logical vector having the same length as the number of `"zoo"`
objects to be merged (otherwise expanded). |

`fill` |
an element for filling gaps in merged `"zoo"`
objects (if any). |

`suffixes` |
character vector of the same length as the number of
`"zoo"` objects specifying the suffixes to be used for making
the merged column names unique. |

`retclass` |
character that specifies the class of the returned result.
It can be `"zoo"` (the default), `"list"` or `NULL` . For
details see below. |

The `merge`

method for `"zoo"`

objects combines the columns
of several objects along the union of the dates
for `all = TRUE`

, the default,
or the intersection of their dates for `all = FALSE`

filling up the created gaps (if any) with the `fill`

pattern.

The first argument must be a `zoo`

object. If any of the remaining
arguments are plain vectors or matrices with the same length or number
of rows as the first argument then such arguments are coerced to `"zoo"`

using `as.zoo`

. If they are plain but have length 1 then they are
merged after all non-scalars such that their column is filled with the
value of the scalar.

`all`

can be a vector of the same length as the number of `"zoo"`

objects to merged (if not, it is expanded): All indexes
(times) of the objects corresponding to `TRUE`

are included, for those
corresponding to `FALSE`

only the indexes present in all objects are
included. This allows intersection, union and left and right joins
to be expressed.

If `retclass`

is `"zoo"`

(the default) a single merged `"zoo"`

object is returned. If it is set to `"list"`

a list of `"zoo`

objects is returned. If `retclass = NULL`

then instead of returning a value it updates each
argument (if it is a variable rather than an expression) in
place so as to extend or reduce it to use the common index vector.

The indexes of different
`"zoo"`

objects can be of different classes and are coerced to
one class in the resulting object (with a warning).

The default `cbind`

method is essentially the default `merge`

method, but does not support the `retclass`

argument.
The `rbind`

method combines the dates of the `"zoo"`

objects (duplicate dates are
not allowed) and combines the rows of the objects. Furthermore, the
`c`

method is identical to the `rbind`

method.

An object of class `"zoo"`

if `retclass="zoo"`

, an object of
class `"list"`

if `retclass="list"`

or modified arguments as
explained above if `retclass=NULL`

. If the result is an object
of class `"zoo"`

then its frequency is the common frequency of its
zoo arguments, if they have a common frequency.

## simple merging x.date <- as.Date(paste(2003, 02, c(1, 3, 7, 9, 14), sep = "-")) x <- zoo(rnorm(5), x.date) y1 <- zoo(matrix(1:10, ncol = 2), 1:5) y2 <- zoo(matrix(rnorm(10), ncol = 2), 3:7) ## using arguments `fill' and `suffixes' merge(y1, y2, all = FALSE) merge(y1, y2, all = FALSE, suffixes = c("a", "b")) merge(y1, y2, all = TRUE) merge(y1, y2, all = TRUE, fill = 0) ## if different index classes are merged, as in ## the next merge example then ## a warning is issued and ### the indexes are coerced. ## It is up to the user to ensure that the result makes sense. merge(x, y1, y2, all = TRUE) ## extend an irregular series to a regular one: # create a constant series z <- zoo(1, seq(4)[-2]) # create a 0 dimensional zoo series z0 <- zoo(, 1:4) # do the extension merge(z, z0) # same but with zero fill merge(z, z0, fill = 0) merge(z, coredata(z), 1)

[Package *zoo* version 1.0-5 Index]