More verbose merge function
mergev(
x,
y,
by = NULL,
by.x = NULL,
by.y = NULL,
all.x = NULL,
all.y = NULL,
all = FALSE,
order = c("sort", "unsorted", "x", "y"),
fast = FALSE,
merge.type.colname = "merge.type",
return.list = FALSE,
verbose = TRUE,
showWarnings = TRUE,
...
)
depends on the value of return.list
.
When return.list
is FALSE
, returns a data.frame
.
When return.list
is TRUE
, returns a list with two elements. The first is the same data.frame
result. The second
is a list with the values that were printed out. Elements include merge.type with two elements, each "one" or "many" indicating the
merge type for x
and y
, respectively; inBoth, the list of column names in both merged data.frames; and merge.matrix
the matrix printed out by this function.
first data.frame to merge, same as in merge
.
second data.frame to merge, same as in merge
.
character vector of column names to merge by. When by
is used, the column names
must be the same in x
and y
. Silently overrides by.x
and by.y
character vector of column names on x
to merge by. The resulting file will have
these names.
character vector of column names on y
to merge by.
logical value indicating if unmerged rows from x
should be included in the output.
logical value indicating if unmerged rows from y
should be included in the output.
logical value indicating if unmerged rows from x
and y
should be included in the output.
Silently overrides all.x
and all.y
.
character string from "sort", "unsorted", "x", and "y".
Specifies the order of the output. Setting this to "sort"
gives the same result as merge
with sort=TRUE.
unsorted gives the same result as sort=FALSE. "x" and "y" sort by the incoming
sort order of x
and y
, respectively.
logical value indicating if data.table
should be used to do the merge.
character indicating the column name of the resulting merge type column. See description.
logical value indicating if the merged data.frame and verbose output should be returned as elements of a list. Defaults to FALSE where the function simply returns a data.frame.
logical value indicating if output should be reported. Defaults to TRUE. Useful for testing.
logical value to output warning messages (TRUE) or suppress (FALSE). Defaults to TRUE.
additional parameters passed to merge.
This is a wrapper for the base package merge function that prints out verbose information about the merge, including the merge type (one/many to one/many), the overlapping column names that will have suffixes applied, the number of rows and the number of unique keys that are in each dataset and in the resulting dataset.
Also gives more detailed errors when, e.g. the columns named in the by
argument are
not on the x
or y
data.frames.