merge-method {PivotalR} | R Documentation |
This method is equivalent to a database join on two tables, and the merge can be by common column or row names. It supports the equivalent of inner, left-outer, right-outer, and full-outer join operations. This method is similar to merge.data.frame.
## S4 method for signature 'db.obj,db.obj' merge(x, y, by = intersect(names(x), names(y)), by.x = by, by.y = by, all = FALSE, all.x = all, all.y = all, key = x@.key, suffixes = c("_x","_y"), ...)
x,y |
The signature of the method. Both argument are |
by,by.x,by.y |
specifications of the columns used for merging. See 'Details'. |
all |
logical; |
all.x |
logical; if |
all.y |
logical; analogous to |
key |
specifies the primary key of the newly created table. |
suffixes |
a character vector of length 2 specifying the suffixes to be used for making unique the names of columns in the result which not used for merging (appearing in |
... |
arguments to be passed to or from methods. |
See merge.data.frame. Note that merge.data.frame
supports an incomparables
argument, which is not yet supported here.
A db.Rquery
object, which expresses the join operation.
Author: Predictive Analytics Team at Pivotal Inc.
Maintainer: Frank McQuillan, Pivotal Inc. fmcquillan@pivotal.io
merge.data.frame
a merge operation for two data frames.
## Not run: ## set up the database connection ## Assume that .port is port number and .dbname is the database name cid <- db.connect(port = .port, dbname = .dbname, verbose = FALSE) ## create sample databases authors <- data.frame( surname = I(c("Tukey", "Venables", "Tierney", "Ripley", "McNeil")), nationality = c("US", "Australia", "US", "UK", "Australia"), deceased = c("yes", rep("no", 4))) books <- data.frame( name = I(c("Tukey", "Venables", "Tierney", "Ripley", "Ripley", "McNeil", "R Core")), title = c("Exploratory Data Analysis", "Modern Applied Statistics ...", "LISP-STAT", "Spatial Statistics", "Stochastic Simulation", "Interactive Data Analysis", "An Introduction to R"), other.author = c(NA, "Ripley", NA, NA, NA, NA, "Venables & Smith")) delete("books", conn.id = cid) delete("authors", conn.id = cid) as.db.data.frame(books, 'books', conn.id = cid, verbose = FALSE) as.db.data.frame(authors, 'authors', conn.id = cid, verbose = FALSE) ## Cast them as db.data.frame objects a <- db.data.frame('authors', conn.id = cid, verbose = FALSE) b <- db.data.frame('books', conn.id = cid, verbose = FALSE) ## Merge them together m1 <- merge(a, b, by.x = "surname", by.y = "name", all = TRUE) db.disconnect(cid, verbose = FALSE) ## End(Not run)