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 Rosso
Ora, 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.7
Aggiungere 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.6
Unire 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 282
Non è 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.00
Vedete 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.00
Impressionante, 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 |
$ o cbind()
|
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