Melt in R(): la ristrutturazione di data frame
La conversione di data frame con melt() in R rende più facile adeguarsi ai requisiti più diversi. Molti metodi di analisi, ad esempio i modelli lineari o ANOVA, prediligono dati in un formato lungo perché risulta spesso più naturale e interpretabile.
A cosa serve melt() in R?
La funzione melt() in R è inclusa nel pacchetto reshape2 e serve alla ristrutturazione di data frame, in particolare per il passaggio da un formato largo a uno lungo. Nel formato largo, le variabili sono organizzate come colonne separate, mentre il formato lungo offre una migliore rappresentazione per analisi e visualizzazioni.
La funzione melt() in R è uno strumento fondamentale per la trasformazione dei dati. L’utilizzo di melt() è particolarmente importante nei casi in cui le informazioni sono disponibili in un formato largo ma per analisi o grafici specifici è richiesto un formato lungo. Questo processo di ristrutturazione aumenta la flessibilità e l’adattabilità dei data frame per consentire un utilizzo ottimale di diversi strumenti di analisi in R e librerie di visualizzazione.
La sintassi di melt() in R
La funzione melt() in R può essere modificata con diversi argomenti.
melt(data.frame, na.rm = FALSE, value.name = "name", id = 'columns')Rdata.frame: questo è il data frame da ristrutturare.na.rm: un argomento opzionale che contiene il valore standardFALSE. Se impostato suTRUE, i valori mancanti (NA) vengono rimossi dal record di dati ristrutturato.value.name: questo argomento opzionale permette di definire il nome della colonna che contiene i valori delle variabili ristrutturate nel nuovo record di dati.id: un argomento opzionale che indica quali colonne devono essere mantenute come identificatori. Qui si utilizzacolumnscome segnaposto.
L’esempio seguente chiarisce meglio il funzionamento:
df <- data.frame(ID = 1:3, A = c(4, 7, NA), B = c(8, NA, 5))RIl data frame creato si presenta così:
ID A B
1 1 4 8
2 2 7 NA
3 3 NA 5ROra applichiamo la funzione melt() e convertiamo il data frame in un formato lungo:
melted_df <- melt(df, na.rm = FALSE, value.name = "Value", id = "ID")RIl data frame ristrutturato melted_df si presenta così:
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 5RQuesto risultato mostra i dati nel data frame ristrutturati in formato lungo. La colonna ID è stata conservata come identificatore, la colonna Variable contiene i nomi originali delle colonne A e B, mentre la colonna Value mostra i relativi elementi. Poiché na.rm = FALSE, rimangono dei valori mancanti (NA).
Rimozione di NA con melt() in R
È possibile rimuovere i valori mancanti nei data frame in modo facile e veloce con l’opzione na.rm=True.
Definiamo un nuovo data frame:
df <- data.frame(ID = 1:4, A = c(3, 8, NA, 5), B = c(6, NA, 2, 9), C = c(NA, 7, 4, 1))RLa sua forma è la seguente:
ID A B C
1 1 3 6 NA
2 2 8 NA 7
3 3 NA 2 4
4 4 5 9 1RQuindi trasformiamo il data frame con melt():
melted_df <- melt(df, na.rm = TRUE, value.name = "Value", id = "ID")RIl nuovo data frame melted_df è ora disponibile in forma lunga e senza valori 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 1RSe desideri lavorare con la manipolazione di stringhe in R, ti consigliamo di seguire i tutorial substring() in R e paste() in R nella nostra guida.
- Certificato SSL e protezione DDoS
- Velocità, flessibilità e scalabilità
- Dominio e consulente personale
- 1 anno gratis del gestionale di fatturazione elettronica FlexTax

