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