En este artículo, veremos cómo agregar un marco de datos al final de otro marco de datos en el lenguaje de programación R.
Método 1: Usar el método rbind()
El método rbind() en R solo funciona si ambos marcos de datos de entrada contienen las mismas columnas con longitudes y nombres similares. Los marcos de datos pueden tener un número diferente de filas. La clase de las columnas del marco de datos debe ser coherente entre sí; de lo contrario, se generarán errores. Se mantienen las siguientes propiedades:
- Las filas se agregan en el orden de aparición del marco de datos durante la llamada a la función.
- El número total de columnas es equivalente a las columnas en cualquiera de los marcos de datos.
- El número total de filas es equivalente a la suma de filas en el marco de datos.
rbind ( df1, df2)
Ejemplo: agregar un marco de datos usando el método rbind()
R
# declaring first dataframe data_frame1 <- data.frame(col1 = c(2, 4, 6), col2 = FALSE , col3 = LETTERS[1 : 3]) print ("First Dataframe") print (data_frame1) # declaring second dataframe data_frame2 <- data.frame(col1 = c(1 , 3), col2 = TRUE, col3 = LETTERS[4 : 5]) print ("Second Dataframe") print (data_frame2) print ("Combining Dataframe") # binding dataframes rbind(data_frame1, data_frame2)
Producción:
Método 2: Usar el paquete plyr
El paquete «plyr» en R se usa para trabajar con datos, incluidas sus mejoras y manipulaciones. Se puede cargar e instalar en el espacio de trabajo con el siguiente comando:
install.packages("plyr")
El método rbind.fill() en R es una mejora del método rbind() en R base, se usa para combinar marcos de datos con diferentes columnas. Los nombres de las columnas y los números pueden ser diferentes en los marcos de datos de entrada. Las columnas que faltan de los marcos de datos correspondientes se rellenan con NA. El marco de datos de salida contiene una columna solo si está presente en cualquiera de los marcos de datos.
rbind.fill( df1, df2)
El método rbind.fill() mantiene las siguientes propiedades:
- Los marcos de datos se agregan en el orden de su especificación en la función.
- El número total de columnas es equivalente a la suma del número de columnas de ambos marcos de datos.
- El número total de filas es equivalente a la suma del número de filas de ambos marcos de datos.
- La apariencia de las columnas está en el orden de la declaración de argumentos del marco de datos durante la llamada a la función.
- Se crean celdas vacías en las columnas que faltan.
Ejemplo: Agregar marco de datos usando el paquete plyr
R
# loading the required library library("plyr") # declaring first dataframe data_frame1 <- data.frame(col1 = c(2, 4, 6), col2 = c(4, 6, 8), col3 = c(8, 10, 12), col4 = LETTERS[1 : 3]) print ("First Dataframe") print (data_frame1) # declaring second dataframe data_frame2 <- data.frame(col4 = letters[1:4], col5 = TRUE) print ("Second Dataframe") print (data_frame2) print ("Combining Dataframe") # binding dataframes rbind.fill(data_frame1, data_frame2)
Producción:
Método 3: Usando el paquete dplyr
El paquete «dplyr» en R se usa para trabajar con datos, incluidas sus mejoras y manipulaciones. Se puede cargar e instalar en el espacio de trabajo con el siguiente comando:
install.packages("dplyr")
El método bind_rows() se usa para combinar marcos de datos con diferentes columnas. Los nombres de las columnas y los números pueden ser diferentes en los marcos de datos de entrada. Las columnas que faltan de los marcos de datos correspondientes se rellenan con NA. El marco de datos de salida contiene una columna solo si está presente en cualquiera de los marcos de datos.
bind_rows(df1, df2)
Las propiedades son similares al funcionamiento del paquete «plyr». Este método solo ofrece una mejora en la manipulación de datos.
Ejemplo: Agregar marco de datos usando el paquete dplyr
R
# loading the required library library("dplyr") # declaring first dataframe data_frame1 <- data.frame(col1 = c(2, 4, 6), col2 = c(4, 6, 8), col3 = c(8, 10, 12), col4 = c(20, 16, 14)) print ("First Dataframe") print (data_frame1) # declaring second dataframe data_frame2 <- data.frame(col5 = letters[1 : 4], col6 = TRUE) print ("Second Dataframe") print (data_frame2) print ("Combining Dataframe") # binding dataframes bind_rows(data_frame1, data_frame2)
Producción:
En caso de que cualquiera de los nombres de columna sea el mismo en ambos marcos de datos de entrada, se encuentran las siguientes propiedades:
- La clase de la columna común debe ser la misma en ambos marcos de datos; de lo contrario, se encuentra un error.
En este caso, el número total de columnas en el marco de datos de salida debe ser equivalente al total de columnas de entrada menos las columnas que se cruzan.
Ejemplo: agregar un marco de datos con una columna que tiene el mismo nombre.
R
# loading the required library library("dplyr") # declaring first dataframe data_frame1 <- data.frame(col1 = c(2, 4, 6), col2 = c(4, 6, 8), col3 = c(8, 10, 12), col4 = LETTERS[1 : 3]) print ("First Dataframe") print (data_frame1) # declaring second dataframe data_frame2 <- data.frame(col4 = letters[1 : 4], col5 = TRUE) print ("Second Dataframe") print (data_frame2) print ("Combining Dataframe") # binding dataframes bind_rows(data_frame1,data_frame2)
Producción:
Publicación traducida automáticamente
Artículo escrito por yashkumar0457 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA