A função rbind() em R – Juntando Linhas Facilmente

A união ou combinação das linhas é muito fácil com a função rbind() no R.

rbind() significa ligação de linhas. Em termos mais simples, é a união de várias linhas para formar um único lote. Isso pode incluir a união de dois data frames, vetores e mais.

Este artigo falará sobre os usos e aplicações da função rbind() na programação R.

Sem perder muito tempo, vamos direto ao assunto!!!


Sintaxe da função rbind()

rbind(): A função rbind ou ligação de linhas é usada para unir ou combinar múltiplos grupos de linhas.

rbind(x,x1)

Onde:

  • X = the input data.
  • X1 = Os dados que precisam ser unidos.

A ideia de unir linhas usando rbind()

A ideia de unir ou combinar as linhas de múltiplos data frames é altamente benéfica na manipulação de dados.

O diagrama abaixo definitivamente lhe dará a ideia de como funciona a função rbind().

Você pode ver como as linhas de diferentes data frames são unidas/ combinadas pela função rbind().


Implementando a função rbind() em R

Como você sabe, a função rbind() em R é usada para unir as linhas de diferentes grupos de dados.

Nesta seção, vamos tentar construir alguns quadros de dados simples e uni-los usando a função rbind().

#criando um quadro de dados

Student_details<-c("Mark","John","Fredrick","Floyd","George")
Student_class<-c("High school","College","High school","High school","College")
df1<-data.frame(Student_class,Student_details)

df1

O código acima irá construir um quadro de dados simples apresentando detalhes e nomes de alunos.

   Student_class    Student_details
1   High school            Mark
2       College            John
3   High school        Fredrick
4   High school           Floyd
5       College          George

Bem, agora temos um quadro de dados com 5 linhas. Vamos criar outro quadro de dados.

#criando um quadro de dados

Student_details<-c("Bracy","Evin")
Student_class<-c("High school","College")
Student_rank<-c("A","A+")
df2<-data.frame(Student_class,Student_details,Student_rank)

df2
    Student_class      Student_details
1   High school           Bracy
2       College            Evin

Bem, agora temos 2 quadros de dados com contagens de linhas diferentes (df1 e df2). Vamos usar a função rbind() para unir os 2 quadros de dados acima em um único quadro de dados.

Vamos ver como isso funciona.

Você não vai acreditar que o processo de união inteiro requer apenas uma linha de código.

#une as linhas de 2 quadros de dados de entrada

rbind(df1,df2)
    Student_class     Student_details
1   High school            Mark
2       College            John
3   High school        Fredrick
4   High school           Floyd
5       College          George
6   High school           Bracy
7       College            Evin

O quadro de dados resultante será uma versão unida de ambos os quadros de dados, conforme mostrado na saída acima.


Unindo dois quadros de dados de comprimentos diferentes usando a função bind()

Bem, na seção anterior, combinamos os dois grupos de linhas juntos.

Nesta seção, vamos combinar dois conjuntos de dados usando a função rbind no R.

#cria o quadro de dados

Student_details<-c("Mark","John","Fredrick","Floyd","George")
Student_class<-c("High school","College","High school","High school","College")
df1<-data.frame(Student_class,Student_details)

df1
   Student_class    Student_details
1   High school            Mark
2       College            John
3   High school        Fredrick
4   High school           Floyd
5       College          George
#cria o quadro de dados

Student_details<-c("Bracy","Evin")
Student_class<-c("High school","College")
Student_rank<-c("A","A+")
df2<-data.frame(Student_class,Student_details,Student_rank)
df2
   Student_class   Student_details   Student_rank
1   High school           Bracy            A
2       College            Evin           A+
rbind(df1,df2)
Error in rbind(deparse.level, ...) : 
  numbers of columns of arguments do not match

Espera aí, o que aconteceu? Por que a função está lançando um erro?

Se você ler as linhas no erro, está indicando que o número de colunas não está correspondendo.

Temos 2 colunas em ‘df1’ e 3 colunas em ‘df2’.

Não se preocupe! nós temos a função bind_rows() que nos ajudará nessas situações.


A função bind_rows() para unir conjuntos de dados desiguais

bind_rows() é uma função que faz parte do pacote dplyr. Precisamos importar o pacote dplyr primeiro para executar esta função.

Estamos usando os mesmos quadros de dados apresentados na seção acima, ou seja, df1 e df2. Vamos ver como funciona.

#instalar pacotes necessários
install.packages('dplyr')
#importar bibliotecas
library(dplyr)
#vincular as linhas
bind_rows(df1,df2)
   Student_class    Student_details   Student_rank
1   High school            Mark         <NA>
2       College            John         <NA>
3   High school        Fredrick         <NA>
4   High school           Floyd         <NA>
5       College          George         <NA>
6   High school           Bracy          A
7       College            Evin          A+

Agora você pode ver que a função bind_rows combinou esses dois conjuntos de dados desiguais em termos de colunas. Os espaços vazios serão marcados como <NA>.


Vinculando dois conjuntos de dados usando a função rbind()

Nesta seção, estaremos analisando a vinculação de dois conjuntos de dados inteiros no R.

Vamos ver como funciona.

Vamos usar o conjunto de dados BOD, pois ele tem apenas 6 linhas e você pode observar facilmente as linhas vinculadas.

#vincula dois conjuntos de dados
rbind(BOD,BOD)
  Time demand
1     1    8.3
2     2   10.3
3     3   19.0
4     4   16.0
5     5   15.6
6     7   19.8
---------------
7     1    8.3
8     2   10.3
9     3   19.0
10    4   16.0
11    5   15.6
12    7   19.8

O conjunto de dados BOD tem 6 linhas. Como estamos passando os dados duas vezes, a função rbind() vinculará as mesmas linhas, conforme mostrado acima.

E também não se esqueça de que você tem a função bind_rows() também.

#vincula dois conjuntos de dados diferentes

bind_rows(BOD,women)
    Time  demand  height  weight
1     1    8.3     NA     NA
2     2   10.3     NA     NA
3     3   19.0     NA     NA
4     4   16.0     NA     NA
5     5   15.6     NA     NA
6     7   19.8     NA     NA
7    NA     NA     58    115
8    NA     NA     59    117
9    NA     NA     60    120
10   NA     NA     61    123
11   NA     NA     62    126
12   NA     NA     63    129
13   NA     NA     64    132
14   NA     NA     65    135
15   NA     NA     66    139
16   NA     NA     67    142
17   NA     NA     68    146
18   NA     NA     69    150
19   NA     NA     70    154
20   NA     NA     71    159
21   NA     NA     72    164

Esses são exemplos que mostram claramente o funcionamento e as aplicações das funções bind() e bind_rows().

I hope these illustrations helped you in understanding these functions.


Vinculando vários grupos de linhas no R

Nesta seção, estaremos focando em vincular vários (mais de 2) grupos de linhas usando a função rbind(). Vamos ver como funciona.

#une as linhas de 3 conjuntos de dados
bind_rows(BOD,women,ToothGrowth)
     Time demand height weight len supp  dose
1     1    8.3     NA     NA   NA  <NA>   NA
2     2   10.3     NA     NA   NA  <NA>   NA
3     3   19.0     NA     NA   NA  <NA>   NA
4     4   16.0     NA     NA   NA  <NA>   NA
5     5   15.6     NA     NA   NA  <NA>   NA
6     7   19.8     NA     NA   NA  <NA>   NA
7    NA     NA     58    115   NA  <NA>   NA
8    NA     NA     59    117   NA  <NA>   NA
9    NA     NA     60    120   NA  <NA>   NA
10   NA     NA     61    123   NA  <NA>   NA
11   NA     NA     62    126   NA  <NA>   NA
12   NA     NA     63    129   NA  <NA>   NA
13   NA     NA     64    132   NA  <NA>   NA
14   NA     NA     65    135   NA  <NA>   NA
15   NA     NA     66    139   NA  <NA>   NA
16   NA     NA     67    142   NA  <NA>   NA
17   NA     NA     68    146   NA  <NA>   NA
18   NA     NA     69    150   NA  <NA>   NA
19   NA     NA     70    154   NA  <NA>   NA
20   NA     NA     71    159   NA  <NA>   NA

Observe como os três conjuntos de dados foram unidos ou combinados pela função bind_rows() no R. Esta é a beleza da função bind_rows().

Essas 2 funções têm aplicações infinitas na manipulação de dados em programação R.


Conclusão

A função rbind() no R e a função bind_rows() são as funções mais úteis quando se trata de manipulação de dados.

Você pode facilmente unir dois quadros de dados com a mesma contagem de colunas usando a função rbind().

Da mesma forma, se os quadros de dados tiverem contagens de colunas desiguais, você pode usar a função bind_rows() junto com o pacote dplyr.

Bem, isso é tudo por agora, Feliz vinculação!!!

Leitura adicional: Documentação do R

Source:
https://www.digitalocean.com/community/tutorials/rbind-function-r