A menudo, usted puede estar interesado en formar parte de múltiples tramas de datos en R. Afortunadamente esto es fácil de hacer uso de la left_join () la función de la dplyr paquete.
biblioteca (dplyr)
Por ejemplo, suponga que tenemos los siguientes tres marcos de datos:
#create marco de datos
df1 <- data.frame (a = c ('a', 'b', 'c', 'd', 'e', 'f'),
b = c (12, 14, 14, 18, 22, 23))
df2 <- data.frame (a = c ('a', 'a', 'a', 'b', 'b', 'b'),
c = c (23, 24, 33, 34, 37, 41))
df3 <- data.frame (a = c ('d', 'e', 'f', 'g', 'h', 'i'),
d = c (23, 24, 33, 34, 37, 41))
Para unir los tres marcos de datos, simplemente podemos realizar dos uniones izquierdas, una tras otra:
#unir los tres marcos de datos
df1%>%
left_join (df2, by = 'a')%>%
left_join (df3, by = 'a')
a B C D
1 a 12 23 NA
2 a 12 24 NA
3 a 12 33 NA
4 b 14 34 NA
5 b 14 37 NA
6 b 14 41 NA
7 c 14 NA NA
8 días 18 NA 23
9 e 22 NA 24
10 f 23 NA 33
Tenga en cuenta que también puede guardar el resultado de esta unión como un marco de datos:
# únase a los tres marcos de datos y guarde el resultado como un nuevo marco de datos llamado all_data
all_data <- df1%>%
left_join (df2, by = 'a')%>%
left_join (df3, by = 'a')
#ver resumen del resumen del marco de datos resultante
(all_data)
Observaciones: 10
Variables: 4
$ a <chr> "a", "a", "a", "b", "b", "b", "c", "d", "e", "f"
$ b <dbl> 12, 12, 12, 14, 14, 14, 14, 18, 22, 23
$ c <dbl> 23, 24, 33, 34, 37, 41, NA, NA, NA, NA
$ d <dbl> NA, NA, NA, NA, NA, NA, NA, 23, 24, 33
Recursos adicionales
Cómo filtrar filas en R
Cómo eliminar filas duplicadas en R
Cómo agrupar y resumir datos en R
- https://r-project.org
- https://www.python.org/
- https://www.stata.com/