rreEn R Language , los marcos de datos son objetos de datos genéricos que se utilizan para almacenar los datos tabulares. Los marcos de datos se consideran los objetos de datos más populares en la programación R porque es más cómodo analizar los datos en forma tabular. Los marcos de datos también se pueden enseñar como colchones donde cada columna de una array puede ser de diferentes tipos de datos. El marco de datos se compone de tres componentes principales, los datos, las filas y las columnas. En R usamos la función merge() para fusionar dos marcos de datos en R. Esta función está presente dentro de la función join() del paquete dplyr . La condición más importante para unir dos marcos de datos es que el tipo de columna debe ser el mismo en el que se produce la fusión. unir()La función funciona de manera similar a unirse en DBMS. Los tipos de fusión disponibles en R son,
- Unión natural o unión interna
- Izquierda combinación externa
- Unión exterior derecha
- Unión exterior completa
- Unión cruzada
- Semi-unirse
- Unión anti
Sintaxis básica de la función merge() en R:
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 los 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.
Ahora tratemos de entender todos los tipos de fusión uno por uno. En primer lugar, crearemos dos marcos de datos que nos ayudarán a comprender cada combinación fácilmente. # Marco de datos 1
Python3
df1 = data.frame(StudentId = c(101:106), Product = c("Hindi", "English", "Maths", "Science", "Political Science", "Physics")) df1
Producción:
StudentId Product 1 101 Hindi 2 102 English 3 103 Maths 4 104 Science 5 105 Political Science 6 106 Physics
# Marco de datos 2
Python3
df2 = data.frame(StudentId = c(102, 104, 106, 107, 108), State = c("Mangalore", "Mysore", "Pune", "Dehradun", "Delhi")) df2
Producción:
StudentId State 1 102 Mangalore 2 104 Mysore 3 106 Pune 4 107 Dehradun 5 108 Delhi
Unión natural o unión interna
La combinación interna se usa para mantener solo aquellas filas que coinciden con los marcos de datos, en esto, en realidad especificamos el argumento all = FALSE . Si tratamos de entender esto usando la teoría de conjuntos, entonces podemos decir que estamos realizando la operación de intersección. Por ejemplo:
A = [1, 2, 3, 4, 5] B = [2, 3, 5, 6] Then the output of natural join will be (2, 3, 5)
Es el tipo de unión más simple y común disponible en R. Ahora intentemos entender esto usando el programa R:
Ejemplo:
Python3
# R program to illustrate # Joining of dataframes df = merge(x = df1, y = df2, by = "StudentId") df
Producción:
StudentId Product State 1 102 English Mangalore 2 104 Science Mysore 3 106 Physics Pune
Izquierda combinación externa
Left Outer Join es básicamente para incluir todas las filas de su marco de datos x y solo aquellas de y que coincidan, en esto, en realidad especificamos el argumento x = TRUE . Si tratamos de entender esto usando una teoría básica de conjuntos, entonces podemos decir que estamos mostrando el conjunto completo x. Ahora tratemos de entender esto usando el programa R:
Ejemplo:
Python3
# R program to illustrate # Joining of dataframes df = merge(x = df1, y = df2, by = "StudentId", all.x = TRUE) df
Producción:
StudentId Product State 1 101 Hindi NA 2 102 English Mangalore 3 103 Maths NA 4 104 Science Mysore 5 105 Political Science NA 6 106 Physics Pune
Unión exterior derecha
Correcto, Outer Join consiste básicamente en incluir todas las filas de su marco de datos y y solo aquellas de x que coincidan, en esto, en realidad especificamos el argumento y = TRUE . Si tratamos de entender esto usando una teoría de conjuntos básica, entonces podemos decir que estamos mostrando un conjunto y completo. Ahora tratemos de entender esto usando el programa R: Ejemplo:
Python3
# R program to illustrate # Joining of dataframes df = merge(x = df1, y = df2, by = "StudentId", all.y = TRUE) df
Producción:
StudentId Product State 1 102 English Mangalore 2 104 Science Mysore 3 106 Physics Pune 4 107 NA Dehradun 5 108 NA Delhi
Unión exterior completa
Outer Join se usa básicamente para mantener todas las filas de ambos marcos de datos, en esto, en realidad especificamos los argumentos all = TRUE . Si tratamos de entender esto usando una teoría de conjuntos básica, entonces podemos decir que estamos realizando la opción de unión. Ahora tratemos de entender esto usando el programa R:
Ejemplo:
Python3
# R program to illustrate # Joining of dataframes df = merge(x = df1, y = df2, by = "StudentId", all = TRUE) df
Producción:
StudentId Product State 1 101 Hindi NA 2 102 English Mangalore 3 103 Maths NA 4 104 Science Mysore 5 105 Political Science NA 6 106 Physics Pune 7 107 NA Dehradun 8 108 NA Delhi
Unión cruzada
Una unión cruzada, también conocida como unión cartesiana, da como resultado que cada fila de un marco de datos se una a cada otra fila de otro marco de datos. En la teoría de conjuntos, este tipo de unión se conoce como producto cartesiano entre dos conjuntos. Ahora tratemos de entender esto usando el programa R:
Ejemplo:
Python3
# R program to illustrate # Joining of dataframes df = merge(x = df1, y = df2, by = NULL) df
Producción:
StudentId.x Product StudentId.y State 1 101 Hindi 102 Mangalore 2 102 English 102 Mangalore 3 103 Maths 102 Mangalore 4 104 Science 102 Mangalore 5 105 Political Science 102 Mangalore 6 106 Physics 102 Mangalore 7 101 Hindi 104 Mysore 8 102 English 104 Mysore 9 103 Maths 104 Mysore 10 104 Science 104 Mysore 11 105 Political Science 104 Mysore 12 106 Physics 104 Mysore 13 101 Hindi 106 Pune 14 102 English 106 Pune 15 103 Maths 106 Pune 16 104 Science 106 Pune 17 105 Political Science 106 Pune 18 106 Physics 106 Pune 19 101 Hindi 107 Dehradun 20 102 English 107 Dehradun 21 103 Maths 107 Dehradun 22 104 Science 107 Dehradun 23 105 Political Science 107 Dehradun 24 106 Physics 107 Dehradun 25 101 Hindi 108 Delhi 26 102 English 108 Delhi 27 103 Maths 108 Delhi 28 104 Science 108 Delhi 29 105 Political Science 108 Delhi 30 106 Physics 108 Delhi
Semi-unirse
Esta combinación es algo así como una combinación interna, con solo las columnas del marco de datos izquierdo y los valores seleccionados. Ahora tratemos de entender esto usando el programa R:
Ejemplo:
Python3
# R program to illustrate # Joining of dataframes # Import required library library(dplyr) df = df1 %>% semi_join(df2, by = "StudentId") df
Producción:
StudentId Product 1 102 English 2 104 Science 3 106 Physics
Unión anti
En términos de teoría de conjuntos, podemos decir anti-unión como operación de diferencia de conjuntos, por ejemplo, A = (1, 2, 3, 4) B = (2, 3, 5) entonces la salida de AB se establecerá (1 , 4). Esta combinación es algo así como df1 – df2, ya que básicamente selecciona todas las filas de df1 que en realidad no están presentes en df2. Ahora tratemos de entender esto usando el programa R:
Ejemplo:
Python3
# R program to illustrate # Joining of dataframes # Import required library library(dplyr) df = df1 %>% anti_join(df2, by = "StudentId") df
Producción:
StudentId Product 1 101 Hindi 2 103 Maths 3 105 Political Science
Publicación traducida automáticamente
Artículo escrito por Akashkumar17 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA