Πώς να αναδιαρθρώσετε πλαίσια δεδομένων με τη συνάρτηση melt του R
Η μετατροπή πλαισίων δεδομένων με τη συνάρτηση melt() στο R διευκολύνει την προσαρμογή σε διάφορες απαιτήσεις. Πολλές μέθοδοι ανάλυσης, όπως τα γραμμικά μοντέλα και η ANOVA, προτιμούν δεδομένα σε μακρά μορφή, επειδή είναι πιο φυσικά και πιο εύκολα στην ερμηνεία.
Σε τι χρησιμοποιείται η συνάρτηση melt() της R;
Η συνάρτηση R’s melt() ανήκει στο πακέτο reshape2 και χρησιμοποιείται για την αναδιάρθρωση πλαισίων δεδομένων, ιδίως για τη μετατροπή τους από ευρεία μορφή σε μακρά μορφή. Σε μια ευρεία μορφή, οι μεταβλητές οργανώνονται σε ξεχωριστές στήλες, ενώ μια μακρά μορφή προσφέρει καλύτερη απεικόνιση για αναλύσεις και οπτικοποιήσεις.
Η συνάρτηση melt() στο R είναι ένα βασικό εργαλείο για τη μετατροπή δεδομένων. Είναι ιδιαίτερα χρήσιμη όταν οι πληροφορίες είναι διαθέσιμες μόνο σε ευρεία μορφή, αλλά ορισμένες αναλύσεις ή γραφικά απαιτούν μακρά μορφή. Αυτή η επιλογή αναδιάρθρωσης των δεδομένων αυξάνει την ευελιξία των πλαισίων δεδομένων και επιτρέπει τη βέλτιστη χρήση διαφόρων εργαλείων ανάλυσης R και βιβλιοθηκών οπτικοποίησης.
Ποια είναι η σύνταξη της συνάρτησης melt() της R;
Η συνάρτηση melt() στο R μπορεί να προσαρμοστεί χρησιμοποιώντας διαφορετικά ορίσματα.
melt(data.frame, na.rm = FALSE, value.name = "name", id.vars = 'columns')Rdata.frame: Αυτό αναφέρεται στο πλαίσιο δεδομένων που θέλετε να αναδιαρθρώσετεna.rm: Ένα προαιρετικό όρισμα που έχει ως προεπιλεγμένη τιμή τοFALSEvalue.name: Αυτό το προαιρετικό όρισμα σας επιτρέπει να ονομάσετε τη στήλη που περιέχει τις τιμές για τις αναδιαρθρωμένες μεταβλητές στο νέο σύνολο δεδομένωνid.vars: Ένα προαιρετικό όρισμα που υποδεικνύει ποιες στήλες πρέπει να διατηρηθούν ως αναγνωριστικά.columnsχρησιμοποιείται ως σύμβολο κράτησης θέσης.
Ας δούμε ένα παράδειγμα:
df <- data.frame(ID = 1:3, A = c(4, 7, NA), B = c(8, NA, 5))RΤο τελικό πλαίσιο δεδομένων έχει την ακόλουθη μορφή:
ID A B
1 1 4 8
2 2 7 NA
3 3 NA 5RΤώρα θα χρησιμοποιήσουμε melt() και θα μετατρέψουμε το πλαίσιο δεδομένων σε μακρά μορφή:
melted_df <- melt(df, na.rm = FALSE, value.name = "Value", id.vars = "ID")RΤο αναδιαρθρωμένο πλαίσιο δεδομένων melted_df έχει την εξής μορφή:
ID variable Value
1 1 A 4
2 2 A 7
3 3 A NA
4 1 B 8
5 2 B NA
6 3 B 5RΤο αποτέλεσμα είναι ένα πλαίσιο δεδομένων που έχει αναδιαρθρωθεί σε μακρά μορφή. Η στήλη ID διατηρήθηκε ως αναγνωριστικό, η στήλη variable περιέχει τα προηγούμενα ονόματα στηλών (A και B) και η στήλη Value περιέχει τα αντίστοιχα στοιχεία. Λόγωna.rm = FALSE, υπάρχουν ορισμένες ελλείπουσες τιμές (σημειωμένες με NA).
Πώς να αφαιρέσετε καταχωρήσεις NA με τη συνάρτηση melt() της R
Μπορείτε να αφαιρέσετε εύκολα τις ελλείπουσες τιμές στα πλαίσια δεδομένων με την επιλογή na.rm=True.
Ας ορίσουμε ένα νέο πλαίσιο δεδομένων:
df <- data.frame(ID = 1:4, A = c(3, 8, NA, 5), B = c(6, NA, 2, 9), C = c(NA, 7, 4, 1))RΤο πλαίσιο δεδομένων έχει την ακόλουθη μορφή:
ID A B C
1 1 3 6 NA
2 2 8 NA 7
3 3 NA 2 4
4 4 5 9 1RΤώρα θα αναδιαρθρώσουμε το πλαίσιο δεδομένων χρησιμοποιώντας το melt():
melted_df <- melt(df, na.rm = TRUE, value.name = "Value", id.vars = "ID")RΤο νέο πλαίσιο δεδομένων melted_df υπάρχει τώρα σε μακρύ μορφότυπο χωρίς NA τιμές:
ID variable Value
1 1 A 3
2 2 A 8
3 4 A 5
4 1 B 6
5 3 B 2
6 4 B 9
7 2 C 7
8 3 C 4
9 4 C 1RΑν θέλετε να μάθετε πώς να χειρίζεστε συμβολοσειρές στο R, ρίξτε μια ματιά στα σεμινάρια R substring() και R paste() στον Ψηφιακό Οδηγό μας.