# R: función rbind() y fusión de datos

Si necesitas ordenar conjuntos de datos que tienen el mismo número de columnas, utiliza`rbind()` 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 principalmente para añadir nueva información a un data frame existente, lo cual es útil cuando tienes datos que se actualizan regularmente y quieres integrarlos en un conjunto de datos existente. Al procesar datos en bucles o procesos iterativos, `rbind()` combina los resultados paso a paso.

Además, `rbind()` en R se utiliza a menudo para combinar data frames con la misma estructura, ya sea para un análisis más exhaustivo o para **unir diferentes 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 recomienda utilizar paquetes como `dplyr` para mejorar el rendimiento.

## Así es la sintaxis de `rbind()` en R

Puedes especificar tantos data frames como quieras combinar en los parámetros de `rbind()` siempre que todos tengan el **mismo número y nombres de columnas**.

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

Los argumentos `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:

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

Obtendrás el siguiente resultado:

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

A continuación, define otro data frame con el mismo número de columnas:

```R
#creating data frame 2
names<-c("Eva","John")
status<-c("doctor","nurse")
df2<-data.frame(names, status)
df2
```

Resultado:

```R
names    status
 1  Eva       doctor
2   John     nurse
```

Ahora puedes combinar ambos data frames:

```R
#binding rows of df1 and df2
rbind(df1,df2)
```

Obtendrás el siguiente resultado:

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

### 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:

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

Resultado:

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

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

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

Resultado:

```R
names    status    age
1  Eva        doctor    52
2  John      nurse      38
```

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

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

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ácilmente con `bind_rows()`.

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

El resultado que obtienes es el siguiente:

```R
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
```

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 alternativa 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 recomendamos consultar los tutoriales [R plot](https://www.ionos.com/es-us/digitalguide/paginas-web/desarrollo-web/r-plot/) y [R paste](https://www.ionos.com/es-us/digitalguide/paginas-web/desarrollo-web/r-paste/) de nuestra Digital Guide.


This is a markdown version of: [https://www.ionos.com/es-us/digitalguide/paginas-web/desarrollo-web/r-rbind/](https://www.ionos.com/es-us/digitalguide/paginas-web/desarrollo-web/r-rbind/) for AI/LLM consumption.