join | R Documentation |
Join two data.frames.
left_join_(df, df2, by = NULL, by.x = NULL, by.y = NULL) anti_join_(df, df2, by = NULL, by.x = NULL, by.y = NULL) full_join_(df, df2, by = NULL, by.x = NULL, by.y = NULL) inner_join_(df, df2, by = NULL, by.x = NULL, by.y = NULL) right_join_(df, df2, by = NULL, by.x = NULL, by.y = NULL) semi_join_(df, df2, by = NULL, by.x = NULL, by.y = NULL)
df |
data.frame |
df2 |
data.frame |
by |
column names of the pivot of both data.frame 1 and data.frame 2 if they are identical. Otherwise, better to use by.x and by.y |
by.x |
column names of the pivot of data.frame 1 |
by.y |
column names of the pivot of data.frame 2 |
The functions return a data frame. The output has the following properties:
For functions left_join()
, inner_join()
, full_join()
, and right_join()
, output includes all df1
columns and all df2
columns. For columns with
identical names in df1
and df2
, a suffix '.x' and '.y' is added.
For left_join()
, all df1
rows with matching rows of df2
For inner_join()
, a subset of df1
rows matching rows of df2
.
For full_join()
, all df1
rows, with all df2
rows.
For right_join()
, all df2
rows with matching rows of df1
.
For functions semi_join()
and anti_join()
, output include columns of df1
only.
For semi_join()
, all df1
rows with a match in df2
.
For anti_join()
, a subset of df1
rows not matching rows of df2
.
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")) authors <- data.frame( surname = I(c("Tukey", "Venables", "Tierney", "Ripley", "McNeil","Asimov")), nationality = c("US", "Australia", "US", "UK", "Australia","US"), deceased = c("yes", rep("no", 4),"yes")) tmp <- left_join_(books,authors, by.x = "name", by.y = "surname") head(tmp) tmp <- inner_join_(books,authors, by.x = "name", by.y = "surname") head(tmp) tmp <- full_join_(books,authors, by.x = "name", by.y = "surname") head(tmp) tmp <- right_join_(books,authors, by.x = "name", by.y = "surname") head(tmp) tmp <- semi_join_(books,authors, by.x = "name", by.y = "surname") head(tmp) tmp <- anti_join_(books,authors, by.x = "name", by.y = "surname") head(tmp)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.