O que é e como usar a função R rbind?

A função R rbind() pode ser usada para combinar conjuntos de dados que possuem o mesmo número de colunas.

O que é a função rbind() em R?

A função R rbind() serve para combinar dados linha por linha. Ela costuma ser usada para adicionar novas informações em um data frame existente. Esse é um recurso prático para os usuários que atualizam os dados regularmente e precisam integrá-los a um conjunto que já foi criado.

A função R rbind() também é usada para combinar dois data frames com a mesma estrutura, seja para facilitar uma análise mais detalhada ou juntar partes diferentes de um conjunto de dados. Observe que rbind() funciona de maneira eficiente com grupos menores de dados, enquanto pacotes como dplyr oferecem melhor desempenho para conjuntos maiores.

Sintaxe da função R rbind()

Você pode inserir quantos data frames quiser na sintaxe da função rbind() para combiná-los. Apenas certifique-se de que todos eles tenham o mesmo número de colunas e que essas colunas tenham os mesmos nomes.

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

Os argumentos data.frame1, data.frame2 e demais representam os data frames ou as listas de data frames que serão combinados linha por linha.

Exemplos de uso da função rbind() em R

A seguir, analisaremos alguns exemplos de como usar a função R rbind(). Primeiro, vamos criar um data frame com duas colunas:

#Criação do data frame 1
nomes<-c("Débora","Thomas","Mário","Laura","Rebeca")
cargos<-c("analista","gerente","analista","gerente","analista")
df1<-data.frame(nomes, cargos)
df1
R

O resultado será o seguinte:

nomes              cargos
1  Débora     	analista
2  Thomas    gerente
3  Mário      	analista
4  Laura    gerente
5  Rebeca     	analista
R

Em seguida, definimos o segundo data frame com o mesmo número de colunas:

#Criação do data frame 2
nomes<-c("Eva","João")
cargos<-c("gerente","analista")
df2<-data.frame(nomes, cargos)
df2
R

Resultado:

nomes      cargos
 1  Eva            gerente 
2   João          analista
R

Agora, combinamos os dois data frames:

#Combinação das linhas de df1 e df2
rbind(df1,df2)
R

O resultado será o seguinte:

nomes     	cargos
1  Débora  	analista
2  Thomas          	gerente    
3  Mário            analista      
4  Laura        	gerente    
5  Rebeca  	analista     
6  Eva             	gerente   
7  João            analista
R

Data frames com número diferente de colunas

A seguir, mostraremos o que acontece quando se tenta combinar dois data frames com um número diferente de colunas.

Primeiro, vamos criar novamente um data frame com duas colunas:

#Criação do data frame 1
nomes<-c("Débora","Thomas","Mário","Laura","Rebeca")
cargos<-c("analista","gerente","analista","gerente","analista")
df1<-data.frame(nomes, cargos)
df1
R

Resultado:

nomes     	cargos
1  Débora 	analista
2  Thomas        	gerente
3  Mário         	analista
4  Laura        	gerente
5 Rebeca 	analista
R

Agora, vamos criar um data frame com três colunas:

#Criação do data frame 2
nomes<-c("Eva","João")
cargos<-c("gerente","analista")
idades<-c("52","38")
df2<-data.frame(nomes, cargos, idades)
df2
R

Resultado:

nomes    cargos    idades
1  Eva        gerente      52
2  João      analista      38
R

Ao usarmos a função rbind() em R para combinar os dois data frames, receberemos a seguinte mensagem de erro:

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

O erro revela que não é possível usar a função R rbind() para combinar os dois data frames, pois eles apresentam números diferentes de colunas. No entanto, podemos usar a função bind_rows() do pacote dplyr para fazer a combinação desejada.

Combinar data frames com número diferente de colunas

Os data frames do exemplo acima podem ser combinados usando a função bind_rows().

#Instalação do dplyr
install.packages('dplyr')
#Importação de bibliotecas
library(dplyr)
#Combinação de linhas
bind_rows(df1,df2)
R

O resultado será o seguinte:

nomes    cargos          	idades
1  Débora    analista      <NA>
2  Thomas   gerente     <NA>
3  Mário      analista      <NA>
4  Laura       gerente     <NA>
5  Rebeca   analista      <NA>
6  Eva          gerente         52
7  João        analista         38
R

A função bind_rows() foi capaz de combinar os dois data frames. Os campos vazios foram marcados com a expressão <NA>. Essa é uma boa alternativa à função rbind() em R se você precisa combinar dois data frames com números diferentes de colunas.

Dica

Quer aprender mais sobre edição e exibição de dados na linguagem R? Consulte os nossos tutoriais sobre R plot e R paste.

Hospedagem web com consultor pessoal

Rápido e escalável, confie na hospedagem da IONOS, que inclui domínio grátis no primeiro ano e endereço de e-mail!

  • Domínio
  • SSL Wildcard
  • Suporte 24 horas
Este artigo foi útil?
Para melhorar a sua experiência, este site usa cookies. Ao acessar o nosso site, você concorda com nosso uso de cookies. Mais informações
Page top