La funzione rbind() in R – Concatenazione delle righe resa facile

La legatura o combinazione delle righe è molto facile con la funzione rbind() in R.

rbind() sta per legatura delle righe. In termini più semplici, unione di più righe per formare un singolo lotto. Può includere l’unione di due frame di dati, vettori e altro ancora.

Questo articolo parlerà degli usi e delle applicazioni della funzione rbind() nella programmazione R.

Senza perdere troppo tempo, entriamo subito nell’argomento!!!


Sintassi della funzione rbind()

rbind(): La funzione rbind o la funzione di unione righe è utilizzata per legare o combinare i multipli gruppi di righe insieme.

rbind(x,x1)

Dove:

  • X = the input data.
  • X1 = I dati da legare.

L’idea di legare le righe usando rbind()

L’idea di legare o combinare le righe di più frame di dati è estremamente vantaggiosa nella manipolazione dei dati.

Il diagramma seguente ti darà sicuramente un’idea di come funziona la funzione rbind().

Puoi vedere come le righe di diversi frame di dati saranno legate/combinate dalla funzione rbind().


Implementazione della funzione rbind() in R

Come sai, la funzione rbind() in R è utilizzata per unire le righe di diversi gruppi di dati.

In questa sezione, proviamo a costruire dei semplici frame dati e uniamoli usando la funzione rbind().

#creazione di un frame dati

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

Il codice sopra costruirà un semplice frame dati che presenta i dettagli degli studenti e i nomi.

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

Ora abbiamo un frame dati di 5 righe. Creiamo un altro frame dati.

#creazione di un frame dati

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

Ora abbiamo 2 frame dati con diverse quantità di righe (df1 e df2). Utilizziamo la funzione rbind() per unire i due frame dati in un unico frame dati.

Vediamo come funziona.

Non crederai che l’intero processo di unione richiederà solo una riga di codice.

#unisce le righe di due frame dati in ingresso

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

Il frame dati risultante sarà una versione combinata di entrambi i frame dati, come mostrato nell’output precedente.


Unione di due frame dati di lunghezza disuguale usando la funzione bind()

Bene, nella sezione precedente abbiamo combinato insieme i due gruppi di righe.

In questa sezione, andremo a combinare due set di dati utilizzando la funzione rbind in R.

#crea il frame dati

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
#crea il frame dati

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

Oh aspetta, cosa è successo? Perché la funzione sta generando un errore?

Se leggi le righe nell’errore, sta indicando che il numero di colonne non corrisponde.

Abbiamo 2 colonne in ‘df1’ e 3 colonne in ‘df2’.

Non preoccuparti! abbiamo la funzione bind_rows() che ci assisterà in queste situazioni.


La funzione bind_rows() per unire set di dati disuguali

bind_rows() è una funzione che fa parte del pacchetto dplyr. Prima di eseguire questa funzione, è necessario importare il pacchetto dplyr.

Stiamo utilizzando gli stessi frame dati presenti nella sezione precedente, ovvero df1 e df2. Vediamo come funziona.

#installa i pacchetti richiesti
install.packages('dplyr')
#importa le librerie
library(dplyr)
#unisci le righe
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+

ora puoi vedere che la funzione bind_rows ha combinato questi due set di dati disuguali in termini di colonne. Gli spazi vuoti saranno contrassegnati come <NA>.


Unione di due set di dati usando la funzione rbind()

In questa sezione, esamineremo l’unione di due interi set di dati in R.

Vediamo come funziona.

Utilizzeremo il set di dati BOD in quanto ha solo 6 righe e puoi facilmente osservare le righe unite.

#unisce due set di dati
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

Il set di dati BOD ha 6 righe. Poiché stiamo passando i dati due volte, la funzione rbind() unirà le stesse righe come mostrato sopra.

E non dimenticare che hai anche la funzione bind_rows().

#unisce due set di dati diversi

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

Questi sono esempi che mostrano chiaramente il funzionamento e le applicazioni delle funzioni bind() e bind_rows.

I hope these illustrations helped you in understanding these functions.


Unione di più gruppi di righe in R

In questa sezione, ci concentreremo sull’unione di più (più di 2) gruppi di righe utilizzando la funzione rbind(). Vediamo come funziona.

# unisce le righe di 3 set di dati
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

Osserva come tutti e tre i set di dati sono stati legati o combinati dalla funzione bind_rows() in R. Questa è la bellezza della funzione bind_rows().

Queste 2 funzioni hanno applicazioni infinite nella manipolazione dei dati nella programmazione R.


Conclusione

La funzione rbind() in R e la funzione bind_rows() sono le più utili quando si tratta di manipolazione dei dati.

È possibile unire facilmente due data frame con lo stesso numero di colonne utilizzando la funzione rbind().

Allo stesso modo, se i data frame hanno un numero diverso di colonne, è possibile utilizzare la funzione bind_rows() insieme al pacchetto dplyr.

Ecco, per ora è tutto, Happy binding!!!

Ulteriori informazioni: Documentazione di R

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