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 standard FALSE. Se impostato su TRUE, 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 utilizza columns 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))
R

Il data frame creato si presenta così:

ID    A      B
1  1     4      8
2  2     7  NA
3  3  NA     5
R

Ora 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")
R

Il 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
R

Questo 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))
R

La 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
R

Quindi trasformiamo il data frame con melt():

melted_df <- melt(df, na.rm = TRUE, value.name = "Value", id = "ID")
R

Il 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
R
Consiglio

Se 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.

Il tuo web hosting come mai prima d'ora
  • Certificato SSL e protezione DDoS
  • Velocità, flessibilità e scalabilità
  • Dominio e consulente personale
  • 1 anno gratis del gestionale di fatturazione elettronica FlexTax
Hai trovato questo articolo utile?
Per offrirti una migliore esperienza di navigazione online questo sito web usa dei cookie, propri e di terze parti. Continuando a navigare sul sito acconsenti all’utilizzo dei cookie. Scopri di più sull’uso dei cookie e sulla possibilità di modificarne le impostazioni o negare il consenso.
Page top