Η μετατροπή πλαισίων δεδομένων με τη συνάρτηση 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')
R
  • data.frame: Αυτό αναφέρεται στο πλαίσιο δεδομένων που θέλετε να αναδιαρθρώσετε
  • na.rm: Ένα προαιρετικό όρισμα που έχει ως προεπιλεγμένη τιμή το FALSE
  • value.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     5
R

Τώρα θα χρησιμοποιήσουμε 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             5
R

Το αποτέλεσμα είναι ένα πλαίσιο δεδομένων που έχει αναδιαρθρωθεί σε μακρά μορφή. Η στήλη 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       1
R

Τώρα θα αναδιαρθρώσουμε το πλαίσιο δεδομένων χρησιμοποιώντας το 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        1
R
Tip

Αν θέλετε να μάθετε πώς να χειρίζεστε συμβολοσειρές στο R, ρίξτε μια ματιά στα σεμινάρια R substring() και R paste() στον Ψηφιακό Οδηγό μας.

Go to Main Menu