En este artículo, analizaremos cómo realizar uniones internas, externas, izquierdas o derechas en un marco de datos determinado en el lenguaje de programación R.
Funciones utilizadas
La función merge() se usa para fusionar o unir dos tablas. Con valores apropiados proporcionados a parámetros específicos, podemos crear la combinación deseada.
Sintaxis: merge(df1, df2, by.df1, by.df2, all.df1, all.df2, sort = TRUE)
Parámetros:
df1: un marco de datos
df2: otro marco
de datos by.df1, by.df2: los nombres de las columnas que son comunes a df1 y df2.
all, all.df1, all.df2: valores lógicos que realmente especifican el tipo de fusión que ocurre.
Unir internamente
Una unión interna, también conocida como unión natural, fusiona los dos marcos de datos en uno que contiene los elementos comunes de ambos. Para esta función merge(), simplemente se le dan los valores de dos marcos de datos en consideración y, sobre la base de una columna común, se genera un marco de datos.
Sintaxis :
fusionar (x = marco de datos 1, y = marco de datos 2)
Ejemplo
R
# create data frame 1 with id , # name and address df1=data.frame(id=c(7058,7059,7072,7075), name=c("bobby","pinkey","harsha","deepika"), address=c("kakumanu","hyd","tenali","chebrolu")) # create data frame 2 with id , # marks df2=data.frame(id=c(7058,7059,7072,7075,7062,7063), marks=c(90,78,98,67,89,90)) # display dataframe1 print(df1) # display dataframe2 print(df2) print("Inner join") # inner join print(merge(x = df1, y = df2))
Producción:
Unión exterior
Outer Join fusiona todas las columnas de ambos marcos de datos en uno para todos los elementos. Para esto, los marcos de datos en consideración junto con todos los valores TRUE asignados a los parámetros deben pasarse a la función merge().
Sintaxis :
fusionar (x = marco de datos 1, y = marco de datos 2, todo = VERDADERO)
Ejemplo:
R
# create data frame 1 with id , name and address df1=data.frame(id=c(7058,7059,7072,7075), name=c("bobby","pinkey","harsha","deepika"), address=c("kakumanu","hyd","tenali","chebrolu")) # create data frame 2 with id , marks df2=data.frame(id=c(7058,7059,7072,7075,7062,7063), marks=c(90,78,98,67,89,90)) # display dataframe1 print(df1) # display dataframe2 print(df2) print("Inner join") # outer join print(merge(x = df1, y = df2,all=TRUE))
Producción:
Nota: Devuelve NA de columnas no coincidentes
Unirse a la izquierda
Proporciona los datos que coinciden con todas las filas en el primer marco de datos con los valores correspondientes en el segundo marco de datos. Para esto, junto con los marcos de datos en consideración, todos los parámetros deben pasarse como VERDADERO después de dar la referencia de la tabla de la izquierda.
Sintaxis :
fusionar (x = marco de datos 1, y = marco de datos 2, todo.x = VERDADERO)
Ejemplo:
R
# create data frame 1 with id , name and address df1=data.frame(id=c(7058,7059,7072,7075), name=c("bobby","pinkey","harsha","deepika"), address=c("kakumanu","hyd","tenali","chebrolu")) # create data frame 2 with id , marks df2=data.frame(id=c(7058,7059,7072,7075,7062,7063), marks=c(90,78,98,67,89,90)) # display dataframe1 print(df1) # display dataframe2 print(df2) print("Left join") # Left join print(merge(x = df1, y = df2,all.x=TRUE))
Producción:
Unirse a la derecha
Proporciona los datos que coinciden con todas las filas en el segundo marco de datos con los valores correspondientes en el primer marco de datos. Para esta función merge(), se deben proporcionar marcos de datos junto con todos los parámetros asignados como VERDADERO. todos los parámetros deben tener una referencia al marco de datos correcto.
Sintaxis :
fusionar (x = marco de datos 1, y = marco de datos 2, all.y = VERDADERO)
Ejemplo:
R
# create data frame 1 with id , name and address df1=data.frame(id=c(7058,7059,7072,7075), name=c("bobby","pinkey","harsha","deepika"), address=c("kakumanu","hyd","tenali","chebrolu")) # create data frame 2 with id , marks df2=data.frame(id=c(7058,7059,7072,7075,7062,7063), marks=c(90,78,98,67,89,90)) # display dataframe1 print(df1) # display dataframe2 print(df2) print("Right join") # Right join print(merge(x = df1, y = df2,all.y=TRUE))
Producción:
Publicación traducida automáticamente
Artículo escrito por gottumukkalabobby y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA