Merge {Hmisc} | R Documentation |
Merge Multiple Data Frames or Data Tables
Description
Merges an arbitrarily large series of data frames or data tables containing common id
variables. Information about number of observations and number of unique id
s in individual and final merged datasets is printed. The first data frame/table has special meaning in that all of its observations are kept whether they match id
s in other data frames or not. For all other data frames, by default non-matching observations are dropped. The first data frame is also the one against which counts of unique id
s are compared. Sometimes merge
drops variable attributes such as labels
and units
. These are restored by Merge
.
Usage
Merge(..., id = NULL, all = TRUE, verbose = TRUE)
Arguments
... |
two or more dataframes or data tables |
id |
a formula containing all the identification variables such that the combination of these variables uniquely identifies subjects or records of interest. May be omitted for data tables; in that case the |
all |
set to |
verbose |
set to |
Examples
## Not run:
a <- data.frame(sid=1:3, age=c(20,30,40))
b <- data.frame(sid=c(1,2,2), bp=c(120,130,140))
d <- data.frame(sid=c(1,3,4), wt=c(170,180,190))
all <- Merge(a, b, d, id = ~ sid)
# First file should be the master file and must
# contain all ids that ever occur. ids not in the master will
# not be merged from other datasets.
a <- data.table(a); setkey(a, sid)
# data.table also does not allow duplicates without allow.cartesian=TRUE
b <- data.table(sid=1:2, bp=c(120,130)); setkey(b, sid)
d <- data.table(d); setkey(d, sid)
all <- Merge(a, b, d)
## End(Not run)