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

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