# R: função rbind() e fusão de dados

Se precisar ordenar conjuntos de dados que têm o mesmo número de colunas,`rbind()` no R para isso.

## Para que serve o `rbind()`R?

A função `rbind()` do R é muito útil para **combinar dados linha por linha**. É usada principalmente para adicionar novas informações a um data frame existente, o que é útil quando se tem dados que são atualizados regularmente e se deseja integrá-los a um conjunto de dados existente. Ao processar dados em loops ou processos iterativos, `rbind()` combina os resultados passo a passo.

Além disso, `rbind()` no R é frequentemente utilizado para combinar data frames com a mesma estrutura, seja para uma análise mais exaustiva ou para **unir diferentes partes de um conjunto de dados num conjunto de dados completo**. Deve ter em conta que, embora `rbind()` seja eficiente com conjuntos de dados pequenos, para conjuntos de dados grandes é recomendável utilizar pacotes como `dplyr` para melhorar o desempenho.

## Esta é a sintaxe do `rbind()` em R

Pode especificar quantos data frames desejar combinar nos parâmetros de `rbind()`, desde que todos tenham o **mesmo número e nomes de colunas**.

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

Os argumentos `data.frame1`, `data.frame2`, etc., são quadros de dados ou listas de quadros de dados que deve **unir por linhas**.

## Exemplos de utilização de `rbind()`R

Para ilustrar como funciona `rbind()` no R com um exemplo concreto, primeiro deve criar um data frame com duas colunas:

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

Você obterá o seguinte resultado:

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

Em seguida, defina outro data frame com o mesmo número de colunas:

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

Agora pode combinar ambos os data frames:

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

Você obterá o seguinte 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
```

### Não é possível unir data frames de comprimentos diferentes com `rbind()` no R.

Observe o que acontece quando tenta combinar data frames com um **número diferente de colunas**.

Primeiro, crie um novo quadro de dados com duas colunas:

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

Em seguida, crie um data frame com uma coluna adicional (três no 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
```

Ao tentar unir ambos com `rbind()` em R, receberá a seguinte mensagem de erro:

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

O erro indica que não é possível unir os dois data frames com `rbind()` porque **o número de colunas não coincide**. No entanto, é possível utilizar `bind_rows()` do pacote `dplr` para uni-los.

### `bind_rows()` permite combinar data frames de diferentes comprimentos

O erro anterior é facilmente resolvido com `bind_rows()`.

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

O resultado obtido é o seguinte:

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

Com `bind_rows()`, consegue combinar os dois data frames. Os campos vazios são marcados com `<NA>`. A função é, portanto, uma boa alternativa a `rbind()` em R quando os data frames não têm o mesmo número de colunas.

Dica Se quiser saber mais sobre funções para mostrar e editar conjuntos de dados no R, recomendamos consultar os tutoriais [R plot](https://www.ionos.com/pt-pt/digitalguide/paginas-web/desenvolvimento-web/r-plot/) e [R paste](https://www.ionos.com/pt-pt/digitalguide/paginas-web/desenvolvimento-web/r-pasta/) do nosso Guia Digital.


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