Unión de tramas de datos en programación R

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,

  1. Unión natural o unión interna
  2. Izquierda combinación externa
  3. Unión exterior derecha
  4. Unión exterior completa
  5. Unión cruzada
  6. Semi-unirse
  7. 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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *