A ligação ou combinação de linhas é muito fácil com a função rbind() em 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 junção de dois data frames, vetores e muito mais.
Este artigo falará sobre os usos e aplicações da função rbind() na programação R.
Sem perder muito tempo, vamos entrar no tópico!!!
Sintaxe da função rbind()
rbind(): A função rbind, ou a função de ligação de linhas, é usada para ligar ou combinar vários grupos de linhas.
rbind(x,x1)
Onde:
- X = the input data.
- X1 = Os dados que precisam ser ligados.
A ideia de ligar linhas usando rbind()
A ideia de ligar ou combinar as linhas de vários data frames é altamente benéfica na manipulação de dados.
O diagrama abaixo definitivamente lhe dará uma ideia de como funciona a função rbind().
Você pode ver como as linhas de diferentes data frames serão ligadas/ 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 data frames simples e uni-los usando a função rbind().
#criando um data frame
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 construirá um data frame simples apresentando detalhes e nomes de estudantes.
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 data frame de 5 linhas. Vamos criar outro data frame.
#criando um data frame
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 data frames com contagens diferentes de linhas (df1 e df2). Vamos usar a função rbind() para unir esses 2 data frames em um único data frame.
Vamos ver como 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 data frames 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 data frame resultante será uma versão unida de ambos os data frames, como mostrado na saída acima.
Ligando dois quadros de dados de comprimento desigual 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á gerando 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! 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 a usar os mesmos quadros de dados presentes na secção acima, ou seja, df1 e df2. Vamos ver como funciona.
#instalar pacotes necessários
install.packages('dplyr')
#importar bibliotecas
library(dplyr)
#ligar 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 pode ver que a função bind_rows combinou estes dois conjuntos de dados desiguais em termos de colunas. Os espaços vazios serão marcados como
Ligação de dois conjuntos de dados usando a função rbind()
Nesta secção, vamos analisar a ligação de dois conjuntos de dados inteiros em R.
Vamos ver como funciona.
Vamos usar o conjunto de dados BOD, pois tem apenas 6 linhas e também pode facilmente observar as linhas ligadas.
#liga 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 a passar os dados duas vezes, a função rbind() vai ligar as mesmas linhas como mostrado acima.
E também não se esqueça que tem a função bind_rows() também.
#liga 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
Estes são os 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.
Vincular vários grupos de linhas no R
Nesta seção, estaremos focando em vincular múltiplos (mais de 2) grupos de linhas usando a função rbind(). Vamos ver como funciona.
# une 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 mais úteis quando se trata de manipulação de dados.
Você pode facilmente unir dois quadros de dados com o mesmo número de colunas usando a função rbind().
Da mesma forma, se os quadros de dados tiverem contagens de colunas diferentes, você pode usar a função bind_rows() junto com o pacote dplyr.
Bem, por enquanto, é isso, Feliz vinculação!!!
Leia mais: Documentação do R
Source:
https://www.digitalocean.com/community/tutorials/rbind-function-r