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