Τι είναι η συνάρτηση rbind() της R;
Η συνάρτηση R rbind() μπορεί να χρησιμοποιηθεί για να συνδυάσει σύνολα δεδομένων που έχουν τον ίδιο αριθμό στηλών.
Ποια είναι η λειτουργία του rbind() στο R;
Η συνάρτηση R rbind() είναι χρήσιμη για τον συνδυασμό δεδομένων γραμμή προς γραμμή. Χρησιμοποιείται συχνά για την προσθήκη νέων πληροφοριών σε ένα υπάρχον πλαίσιο δεδομένων. Αυτό είναι χρήσιμο αν ενημερώνετε τακτικά τα δεδομένα σας και πρέπει να τα ενσωματώσετε σε ένα υπάρχον σύνολο δεδομένων.
rbind() R’s rbind() χρησιμοποιείται επίσης για να συνδυάσει δύο πλαίσια δεδομένων με την ίδια δομή, είτε για να διευκολύνει μια πιο διεξοδική ανάλυση είτε για να συγκεντρώσει διαφορετικά μέρη ενός συνόλου δεδομένων. Σημειώστε ότι rbind() λειτουργεί αποτελεσματικά για μικρότερα σύνολα δεδομένων, αλλά πακέτα όπως dplyr προσφέρουν καλύτερη απόδοση για μεγαλύτερα σύνολα δεδομένων.
Ποια είναι η σύνταξη του R’s rbind();
Μπορείτε να εισαγάγετε όσα πλαίσια δεδομένων θέλετε στο rbind() και να τα συνδυάσετε. Απλά βεβαιωθείτε ότι όλα τα πλαίσια δεδομένων έχουν τον ίδιο αριθμό στηλών και τα ίδια ονόματα στηλών.
rbind(data.frame1, data.frame2, ...)RΤα επιχειρήματα data.frame1, data.frame2 και ούτω καθεξής αντιπροσωπεύουν τα πλαίσια δεδομένων ή τις λίστες πλαισίων δεδομένων που θα συνδεθούν γραμμή προς γραμμή.
Παραδείγματα χρήσης του rbind() στο R
Παρακάτω θα δούμε μερικά παραδείγματα χρήσης της συνάρτησης rbind() της R. Πρώτα θα δημιουργήσουμε ένα πλαίσιο δεδομένων με δύο στήλες:
#creating data frame 1
names<-c("Deborah","Tom","Matt","Laura","Rebecca")
status<-c("nurse","doctor","nurse","doctor","nurse")
df1<-data.frame(names, status)
df1RΤο αποτέλεσμα έχει την ακόλουθη μορφή:
names status
1 Deborah nurse
2 Tom doctor
3 Matt nurse
4 Laura doctor
5 Rebecca nurseRΣτη συνέχεια, θα ορίσουμε ένα δεύτερο πλαίσιο δεδομένων με τον ίδιο αριθμό στηλών:
#creating data frame 2
names<-c("Eva","John")
status<-c("doctor","nurse")
df2<-data.frame(names, status)
df2RΈξοδος:
names status
1 Eva doctor
2 John nurseRΤώρα μπορούμε να συνδυάσουμε τα δύο πλαίσια δεδομένων μεταξύ τους:
#binding rows of df1 and df2
rbind(df1,df2)RΤο αποτέλεσμα θα έχει την ακόλουθη μορφή:
names status
1 Deborah nurse
2 Tom doctor
3 Matt nurse
4 Laura doctor
5 Rebecca nurse
6 Eva doctor
7 John nurseRΤι συμβαίνει αν τα πλαίσια δεδομένων έχουν διαφορετικό αριθμό στηλών;
Παρακάτω θα δείξουμε τι συμβαίνει όταν προσπαθείτε να συνδυάσετε δύο πλαίσια δεδομένων που έχουν διαφορετικό αριθμό στηλών.
Αρχικά, ας δημιουργήσουμε ξανά ένα πλαίσιο δεδομένων με δύο στήλες:
#creating data frame 1
names<-c("Deborah","Tom","Matt","Laura","Rebecca")
status<-c("nurse","doctor","nurse","doctor","nurse")
df1<-data.frame(names, status)
df1RΈξοδος:
names status
1 Deborah nurse
2 Tom doctor
3 Matt nurse
4 Laura doctor
5 Rebecca nurseRΤώρα θα δημιουργήσουμε ένα πλαίσιο δεδομένων με τρεις στήλες:
#creating data frame 2
names<-c("Eva","John")
status<-c("doctor","nurse")
age<-c("52","38")
df2<-data.frame(names, status, age)
df2RΈξοδος:
names status age
1 Eva doctor 52
2 John nurse 38RΌταν χρησιμοποιούμε rbind() για να προσπαθήσουμε να συνδυάσουμε τα δύο πλαίσια δεδομένων, θα λάβουμε το ακόλουθο μήνυμα σφάλματος:
rbind(df1,df2)
Error in rbind(deparse.level, ...) :
numbers of columns of arguments do not matchRΤο σφάλμα δείχνει ότι δεν μπορούμε να χρησιμοποιήσουμε το R’s rbind() για να συνδυάσουμε τα δύο πλαίσια δεδομένων, καθώς έχουν διαφορετικό αριθμό στηλών. Ωστόσο, μπορούμε να χρησιμοποιήσουμε bind_rows() από το πακέτο dplr.
Πώς να συνδυάσετε πλαίσια δεδομένων με διαφορετικό αριθμό στηλών
Τα πλαίσια δεδομένων από το παραπάνω παράδειγμα μπορούν εύκολα να συνδυαστούν με bind_rows().
#install dplyr
install.packages('dplyr')
#import libraries
library(dplyr)
#bind rows
bind_rows(df1,df2)RΤο αποτέλεσμα έχει την ακόλουθη μορφή:
names status age
1 Deborah nurse <NA>
2 Tom doctor <NA>
3 Matt nurse <NA>
4 Laura doctor <NA>
5 Rebecca nurse <NA>
6 Eva doctor 52
7 John nurse 38Rbind_rows() συνδυάζει με επιτυχία τα δύο πλαίσια δεδομένων. Τα κενά πεδία επισημαίνονται με <NA>. Η συνάρτηση είναι μια καλή εναλλακτική λύση για rbind() στο R, αν χρειαστεί να συνδυάσετε πλαίσια δεδομένων με διαφορετικό αριθμό στηλών.
Θέλετε να μάθετε περισσότερα σχετικά με την εμφάνιση και την επεξεργασία συνόλων δεδομένων στο R; Ρίξτε μια ματιά στα σεμινάριά μας για το R plot και το R paste.