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')
R-
data.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 utilizzacolumns
come 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 5
ROra 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 5
RQuesto 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 1
RQuindi 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 1
RSe 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