Guida per Principianti: Riformattazione dei Dati in R
Ciao a tutti, futuri programmatori R! Oggi ci imbarcheremo in un viaggio emozionante nel mondo della riformattazione dei dati in R. Non preoccupatevi se non avete mai programmato prima – sarò il vostro guida amichevole, e prenderemo tutto passo per passo. Alla fine di questo tutorial, sarete in grado di riformattare i dati come un professionista!

Cos'è la Riformattazione dei Dati?
Prima di immergerci, parliamo di cosa significhi davvero riformattare i dati. Immagina di avere un mucchio di mattoncini Lego. La riformattazione dei dati è come riorganizzare quei mattoncini per costruire diverse strutture. In R, facciamo la stessa cosa con i nostri dati – li riorganizziamo per renderli più utili per l'analisi.
Ora, diamo 몰 diversified esempi pratici!
Unire Colonne e Righe in un Data Frame
Aggiungere Colonne
Iniziamo con qualcosa di semplice. Immagina di avere un data frame con informazioni su frutti:
frutti <- data.frame(
nome = c("Mela", "Banana", "Ciliegia"),
colore = c("Rosso", "Giallo", "Rosso")
)
print(frutti)Questo stamperà:
nome  colore
1   Mela    Rosso
2 Banana  Giallo
3 Ciliegia   RossoOra, diciamo che vogliamo aggiungere una nuova colonna per il prezzo di ogni frutto:
frutti$prezzo <- c(0.5, 0.3, 0.7)
print(frutti)E voilà! Abbiamo aggiunto una nuova colonna:
nome  colore prezzo
1   Mela    Rosso   0.5
2 Banana  Giallo   0.3
3 Ciliegia   Rosso   0.7Aggiungere Righe
Cosa succede se vogliamo aggiungere un nuovo frutto alla nostra lista? Possiamo farlo anche questo!
nuovo_frutto <- data.frame(nome = "Dattero", colore = "Marrone", prezzo = 0.6)
frutti <- rbind(frutti, nuovo_frutto)
print(frutti)Questo ci darà:
nome  colore prezzo
1   Mela    Rosso   0.5
2 Banana  Giallo   0.3
3 Ciliegia   Rosso   0.7
4 Dattero  Marrone   0.6Unire Data Frames
Ora, diciamo che abbiamo un altro data frame con informazioni nutrizionali:
nutrizione <- data.frame(
nome = c("Mela", "Banana", "Ciliegia", "Dattero"),
calorie = c(52, 89, 50, 282)
)
# Unire i due data frames
informazioni_frutti <- merge(frutti, nutrizione, by = "nome")
print(informazioni_frutti)Questo ci darà:
nome  colore prezzo calorie
1   Mela    Rosso   0.5       52
2 Banana  Giallo   0.3       89
3 Ciliegia   Rosso   0.7       50
4 Dattero  Marrone   0.6      282Non è fantastico? Abbiamo combinato informazioni da due fonti diverse in un unico data frame completo!
Sciogliere e Fondere
Ora, entriamo in alcune tecniche di riformattazione più avanzate. Useremo il pacchetto reshape2, quindi assicuratevi di installarlo e caricarlo:
install.packages("reshape2")
library(reshape2)Sciogliere i Dati
Sciogliere i dati è come sciogliere un blocco di ghiaccio – tutto diventa fluido e può essere riformato. Sciolgiamo i nostri dati informazioni_frutti:
sciolti_frutti <- melt(informazioni_frutti, id.vars = "nome")
print(sciolti_frutti)Questo ci darà:
nome variabile    valore
1   Mela    colore    Rosso
2 Banana    colore  Giallo
3 Ciliegia    colore    Rosso
4 Dattero    colore  Marrone
5   Mela    prezzo   0.50
6 Banana    prezzo   0.30
7 Ciliegia    prezzo   0.70
8 Dattero    prezzo   0.60
9   Mela  calorie  52.00
10 Banana  calorie  89.00
11 Ciliegia  calorie  50.00
12 Dattero  calorie 282.00Vedete come ogni attributo (colore, prezzo, calorie) è diventato una riga separata? Questo è incredibilmente utile per certi tipi di analisi e visualizzazione.
Fondere i Dati Sciolti
Ora che abbiamo sciolto i nostri dati, possiamo ricastarli in una nuova forma. Diciamo che vogliamo avere i frutti come colonne e gli attributi come righe:
fusi_frutti <- dcast(sciolti_frutti, variabile ~ nome)
print(fusi_frutti)Questo ci darà:
variabile   Mela Banana Ciliegia Dattero
1    colore    Rosso  Giallo    Rosso  Marrone
2    prezzo    0.50   0.30    0.70    0.60
3  calorie   52.00   89.00   50.00  282.00Impressionante, vero? Abbiamo completamente trasformato la nostra struttura dati!
Conclusione
Complimenti! Avete appena fatto i vostri primi passi nel mondo della riformattazione dei dati in R. Ricordate, come costruire con Lego, la chiave è sperimentare e trovare la struttura che funziona meglio per le vostre esigenze. Non abbiate paura di giocare con queste funzioni – è così che imparerete veramente!
Ecco una tabella di rapida riferimento dei metodi che abbiamo coperto:
| Metodo | Funzione | Scopo | 
|---|---|---|
| Aggiungere Colonne | $ocbind() | Aggiungere nuove variabili a un data frame | 
| Aggiungere Righe | rbind() | Aggiungere nuove osservazioni a un data frame | 
| Unire | merge() | Combinare dati da diversi data frames | 
| Sciogliere | melt() | Riformattare dati ampi in formato lungo | 
| Fondere | dcast() | Riformattare dati lunghi in formato ampio | 
Continuate a praticare, e presto sarete in grado di riformattare i dati come un maestro scultore! Buon coding!
Credits: Image by storyset
