Si necesitas ordenar conjuntos de datos que tienen el mismo número de columnas, utilizarbind() en R para ello.

¿Para qué sirve rbind()en R?

La función rbind() de R resulta muy útil para combinar datos línea por línea. Se utiliza pri­n­ci­pa­l­me­n­te para añadir nueva in­fo­r­ma­ción a un data frame existente, lo cual es útil cuando tienes datos que se ac­tua­li­zan re­gu­la­r­me­n­te y quieres in­te­grar­los en un conjunto de datos existente. Al procesar datos en bucles o procesos ite­ra­ti­vos, rbind() combina los re­su­l­ta­dos paso a paso.

Además, rbind() en R se utiliza a menudo para combinar data frames con la misma es­tru­c­tu­ra, ya sea para un análisis más exhau­s­ti­vo o para unir di­fe­re­n­tes partes de un conjunto de datos en un conjunto de datos completo. Debes tener en cuenta que, aunque rbind() es eficiente con conjuntos de datos pequeños, para grandes conjuntos de datos se re­co­mie­n­da utilizar paquetes como dplyr para mejorar el re­n­di­mie­n­to.

Así es la sintaxis de rbind() en R

Puedes es­pe­ci­fi­car tantos data frames como quieras combinar en los pa­rá­me­tros de rbind() siempre que todos tengan el mismo número y nombres de columnas.

rbind(data.frame1, data.frame2, ...)
R

Los ar­gu­me­n­tos data.frame1, data.frame2, etc., son marcos de datos o listas de data frames que debes unir por filas.

Ejemplos de uso de rbind()en R

Para ilustrar cómo funciona rbind() en R con un ejemplo concreto, primero debes crear un data frame con dos columnas:

#creating data frame 1

names<-c("Deborah","Tom","Matt","Laura","Rebecca")
status<-c("nurse","doctor","nurse","doctor","nurse")
df1<-data.frame(names, status)

df1
R

Obtendrás el siguiente resultado:

    names status
1 Deborah  nurse
2     Tom doctor
3    Matt  nurse
4   Laura doctor
5 Rebecca  nurse
text

A co­n­ti­nua­ción, define otro data frame con el mismo número de columnas:

#creating data frame 2

names<-c("Eva","John")
status<-c("doctor","nurse")
df2<-data.frame(names, status)

df2
R

Resultado:

  names status
1   Eva doctor
2  John  nurse
text

Ahora puedes combinar ambos data frames:

#binding rows of df1 and df2

rbind(df1,df2)
R

Obtendrás el siguiente resultado:

    names status
1 Deborah  nurse
2     Tom doctor
3    Matt  nurse
4   Laura doctor
5 Rebecca  nurse
6     Eva doctor
7    John  nurse
text

No se pueden unir data frames de diferente longitud con rbind() en R

Fíjate qué ocurre cuando intentas combinar data frames con un número diferente de columnas.

Primero, crea un nuevo data frame con dos columnas:

#creating data frame 1

names<-c("Deborah","Tom","Matt","Laura","Rebecca")
status<-c("nurse","doctor","nurse","doctor","nurse")
df1<-data.frame(names, status)

df1
R

Resultado:

    names status
1 Deborah  nurse
2     Tom doctor
3    Matt  nurse
4   Laura doctor
5 Rebecca  nurse
text

Luego, crea un data frame con una columna adicional (tres en total):

#creating data frame 2

names<-c("Eva","John")
status<-c("doctor","nurse")
age<-c("52","38")
df2<-data.frame(names, status, age)

df2
R

Resultado:

  names status age
1   Eva doctor  52
2  John  nurse  38
text

Al intentar unir ambos con rbind() en R recibirás el siguiente mensaje de error:

rbind(df1,df2)

Error in rbind(deparse.level, ...) :
  numbers of columns of arguments do not match
R

El error indica que no puedes unir los dos data frames con rbind() porque el número de columnas no coincide. Sin embargo, sí puedes utilizar bind_rows() del paquete dplr para juntarlos.

bind_rows() te permite combinar data frames de diferente longitud

El error anterior se soluciona fá­ci­l­me­n­te con bind_rows().

#install dplyr
install.packages('dplyr')
#import libraries
library(dplyr)
#bind rows
bind_rows(df1,df2)
R

El resultado que obtienes es el siguiente:

    names status  age
1 Deborah  nurse <NA>
2     Tom doctor <NA>
3    Matt  nurse <NA>
4   Laura doctor <NA>
5 Rebecca  nurse <NA>
6     Eva doctor   52
7    John  nurse   38
text

Con bind_rows() consigues combinar los dos data frames. Los campos vacíos se marcan con <NA>. La función es, por tanto, una buena al­te­r­na­ti­va a rbind() en R cuando los data frames no tienen el mismo número de columnas.

Consejo

Si quieres saber más sobre funciones para mostrar y editar conjuntos de datos en R, te re­co­me­n­da­mos consultar los tu­to­ria­les R plot y R paste de nuestra Digital Guide.

Web hosting
El hosting web al mejor precio
  • 3 veces más rápido y un 60 % más barato
  • Máxima di­s­po­ni­bi­li­dad con > 99,99
  • Sólo con IONOS: hasta 500 GB de espacio de al­ma­ce­na­mie­n­to incluido
Ir al menú principal