See the documentation on ?merge
, which states:
By default the data frames are merged on the columns with names they both have, but separate specifications of the columns can be given by by.x and by.y.
This clearly implies that merge
will merge data frames based on more than one column. From the final example given in the documentation:
x <- data.frame(k1=c(NA,NA,3,4,5), k2=c(1,NA,NA,4,5), data=1:5) y <- data.frame(k1=c(NA,2,NA,4,5), k2=c(NA,NA,3,4,5), data=1:5) merge(x, y, by=c("k1","k2")) # NA's match
This example was meant to demonstrate the use of incomparables
, but it illustrates merging using multiple columns as well. You can also specify separate columns in each of x
and y
using by.x
and by.y
.
Related Posts:
- R Hex to RGB converter
- Error in file(file, “rt”) : cannot open the connection [duplicate]
- Error in
: object of type ‘closure’ is not subsettable - Could not find function “%<>%” with dplyr loaded
- Interpreting “condition has length > 1” warning from `if` function
- How to coerce a list object to type ‘double’
- R Error in x$ed : $ operator is invalid for atomic vectors
- $ operator is invalid for atomic vectors for dataframe R
- Plotting with ggplot2: “Error: Discrete value supplied to continuous scale” on categorical y-axis
- ggplot2 error : Discrete value supplied to continuous scale
- ggplot2 line chart gives “geom_path: Each group consist of only one observation. Do you need to adjust the group aesthetic?”
- ggplot2 line chart gives “geom_path: Each group consist of only one observation. Do you need to adjust the group aesthetic?”
- How to open CSV file in R when R says “no such file or directory”?
- Error: could not find function “%>%”
- R programming: How do I get Euler’s number?
- ‘x’ and ‘y’ lengths differ ERROR when plotting
- What are the “standard unambiguous date” formats for string-to-date conversion in R?
- ‘x’ and ‘y’ lengths differ ERROR when plotting
- What are the “standard unambiguous date” formats for string-to-date conversion in R?
- Difference between paste() and paste0()
- Remove duplicated rows
- Error in ggplot.data.frame : Mapping should be created with aes or aes_string
- Error in Confusion Matrix : the data and reference factors must have the same number of levels
- Error in plot.window(…) : need finite ‘xlim’ values
- Error in colMeans(x, na.rm = TRUE) : ‘x’ must be numeric, What should I do in this situation?
- Editing legend (text) labels in ggplot
- case_when in mutate pipe
- Principal Components Analysis:Error in colMeans(x, na.rm = TRUE) : ‘x’ must be numeric
- dim(X) must have a positive length when applying function in data frame
- Extract year from date
- Persistent invalid graphics state error when using ggplot2
- incorrect number of dimensions and incorrect number of subscripts in array
- What does %*% mean in R [duplicate]
- Why am I getting “algorithm did not converge” and “fitted prob numerically 0 or 1” warnings with glm?
- How to debug “contrasts can be applied only to factors with 2 or more levels” error?
- Error in lm.fit(x, y, offset = offset, singular.ok = singular.ok, …) : NA/NaN/Inf in ‘y’, tried every possible way
- R t-test Grouping factor must have exactly 2 levels error
- What does c do in R?
- Opposite of %in%: exclude rows with values specified in a vector
- Understanding the order() function
- Subscript out of bounds – general definition and solution?
- Error in lis[[i]] : attempt to select less than one element
- Plot a line graph, error in xy.coords(x, y, xlabel, ylabel, log) : ‘x’ and ‘y’ lengths differ
- How to compute weighted mean in R?
- Error: unexpected symbol/input/string constant/numeric constant/SPECIAL in my code
- How to count the number of observations in R like Stata command count
- Remove all of x axis labels in ggplot
- Sum rows in data.frame or matrix
- Error in table “all arguments must have the same length”
- Rename multiple columns by names
- What is the difference between rm() and rm(list=ls())?
- Remove rows with all or some NAs (missing values) in data.frame
- How to not run an example using roxygen2?
- Error with apply function
- How do you create vectors with specific intervals in R?
- Linear model function lm() error: NA/NaN/Inf in foreign function call (arg 1)
- Increase number of axis ticks
- Remove rows with all or some NAs (missing values) in data.frame
- Converting data frame column from character to numeric
- How to assign colors to categorical variables in ggplot2 that have stable mapping?
- Singularity in backsolve at level 0, block 1 in LME model
- Nested ifelse statement
- Plot two graphs in same plot in R
- How to overcome error:”attempt to set ‘colnames’ on an object with less than two dimension” in xts object
- ggplot2 manually specifying colour with geom_line
- remove all variables except functions
- How to update a package in R?
- Error: Invalid input: date_trans works with objects of class Date only
- Run R script from command line
- Matrix expression causes error “requires numeric/complex matrix/vector arguments”?
- NAs are not allowed in subscripted assignments
- install.packages fails in knitr document: “trying to use CRAN without setting a mirror”
- What’s the difference between facet_wrap() and facet_grid() in ggplot2?
- ggplot2, facet_grid, free scales?
- How do I install an R package from source?
- How can I convert Json to data frame in R
- lmer error: grouping factor must be < number of observations
- R Error (from NA’s to 0): duplicate subscripts for column in Data Frame
- Error in rbind(deparse.level, …) : numbers of columns of arguments do not match R
- Creating box plot on exercise
- What is the meaning of the dollar sign “$” in R function()?
- How to sort a data frame by alphabetic order of a character variable in R?
- Error in na.fail.default(as.ts(x)) : missing values in object in time series forecasting
- Argument “No” is missing, with no default
- R apply function with multiple parameters
- Geometric Mean: is there a built-in?
- Error in eval(predvars, data, env) : invalid ‘envir’ argument of type ‘character’
- Error in na.fail.default: missing values in object – but no missing values
- Error: Invalid number of ‘breaks’ in R
- Convert the values in a column into row names in an existing data frame
- Deleting rows that are duplicated in one column based on the conditions of another column
- Replace all 0 values to NA
- The difference between bracket [ ] and double bracket [[ ]] for accessing the elements of a list or dataframe
- Merge error : negative length vectors are not allowed
- Error Error in storage.mode(x) <- "double" : 'list' object cannot be coerced to type 'double'
- why nrow(dataframe) and length(dataframe) in r give different results?
- Meaning of objects being masked by the global environment
- Subset and ggplot2
- Create a matrix of scatterplots (pairs() equivalent) in ggplot2
- cbind warnings : row names were found from a short variable and have been discarded