Trasformazione dei Dati
La trasformazione dei dati è una fase cruciale nella preparazione dei dati grezzi per l'analisi. Comprende la modifica, l'aggiunta o la ricodifica delle variabili per rendere i dati più significativi e pronti per l'analisi.
Creazione di nuove colonne
Una trasformazione comune consiste nel calcolare nuovi indicatori a partire da colonne esistenti. Ad esempio, si può calcolare il prezzo per chilometro per valutare quanto sia conveniente un veicolo.
Base R
È possibile creare una nuova colonna utilizzando l'operatore $ per definirne il nome e assegnare i valori.
df$price_per_km <- df$selling_price / df$km_driven
head(df)
dplyr
Nuove colonne possono essere aggiunte utilizzando la funzione mutate(). All'interno di mutate(), si specifica il nome della nuova colonna e si definisce come deve essere calcolata.
df <- df %>%
mutate(price_per_km = selling_price / km_driven)
Conversione e trasformazione di dati numerici basati su testo
Nei dataset reali, le informazioni numeriche sono spesso memorizzate come testo combinato con caratteri non numerici. Ad esempio, i valori della potenza del motore possono apparire come "68 bhp", che devono essere puliti e convertiti prima dell'analisi.
Base R
È possibile utilizzare gsub() per rimuovere il testo indesiderato e poi applicare as.numeric() per convertire il risultato in numeri. Dopo la conversione, possono essere eseguite ulteriori trasformazioni, come la conversione della potenza frenante (bhp) in kilowatt.
df$max_power <- as.numeric(gsub(" bhp", "", df$max_power))
df$max_power_kw <- df$max_power * 0.7457 # convert to kilowatts
dplyr
Lo stesso processo può essere semplificato all'interno di una chiamata mutate(). È possibile combinare la sostituzione del testo, la conversione del tipo e la creazione di una nuova colonna in un unico passaggio, rendendo il codice più pulito e leggibile.
df <- df %>%
mutate(
max_power = as.numeric(gsub(" bhp", "", max_power)),
max_power_kw = max_power * 0.7457
)
Categorizzazione dei dati
È possibile creare nuove variabili categoriche raggruppando valori continui in categorie significative. Ad esempio, le auto possono essere classificate in fasce di prezzo Bassa, Media o Alta in base al loro prezzo di vendita.
Base R
Questo può essere fatto con istruzioni ifelse() annidate. Ogni condizione viene verificata in ordine e il valore viene assegnato di conseguenza.
df$price_category <- ifelse(df$selling_price < 300000, "Low",
ifelse(df$selling_price < 700000, "Medium", "High"))
dplyr
È possibile utilizzare la funzione case_when() come sostituto delle istruzioni if-else annidate. Questo consente di scrivere più condizioni in un formato pulito e leggibile.
df <- df %>%
mutate(price_category = case_when(
selling_price < 300000 ~ "Low",
selling_price < 700000 ~ "Medium",
TRUE ~ "High"
))
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Can you explain the difference between using Base R and dplyr for data transformation?
How do I handle non-numeric values when converting columns for analysis?
Can you show more examples of categorizing data using different criteria?
Awesome!
Completion rate improved to 4
Trasformazione dei Dati
Scorri per mostrare il menu
La trasformazione dei dati è una fase cruciale nella preparazione dei dati grezzi per l'analisi. Comprende la modifica, l'aggiunta o la ricodifica delle variabili per rendere i dati più significativi e pronti per l'analisi.
Creazione di nuove colonne
Una trasformazione comune consiste nel calcolare nuovi indicatori a partire da colonne esistenti. Ad esempio, si può calcolare il prezzo per chilometro per valutare quanto sia conveniente un veicolo.
Base R
È possibile creare una nuova colonna utilizzando l'operatore $ per definirne il nome e assegnare i valori.
df$price_per_km <- df$selling_price / df$km_driven
head(df)
dplyr
Nuove colonne possono essere aggiunte utilizzando la funzione mutate(). All'interno di mutate(), si specifica il nome della nuova colonna e si definisce come deve essere calcolata.
df <- df %>%
mutate(price_per_km = selling_price / km_driven)
Conversione e trasformazione di dati numerici basati su testo
Nei dataset reali, le informazioni numeriche sono spesso memorizzate come testo combinato con caratteri non numerici. Ad esempio, i valori della potenza del motore possono apparire come "68 bhp", che devono essere puliti e convertiti prima dell'analisi.
Base R
È possibile utilizzare gsub() per rimuovere il testo indesiderato e poi applicare as.numeric() per convertire il risultato in numeri. Dopo la conversione, possono essere eseguite ulteriori trasformazioni, come la conversione della potenza frenante (bhp) in kilowatt.
df$max_power <- as.numeric(gsub(" bhp", "", df$max_power))
df$max_power_kw <- df$max_power * 0.7457 # convert to kilowatts
dplyr
Lo stesso processo può essere semplificato all'interno di una chiamata mutate(). È possibile combinare la sostituzione del testo, la conversione del tipo e la creazione di una nuova colonna in un unico passaggio, rendendo il codice più pulito e leggibile.
df <- df %>%
mutate(
max_power = as.numeric(gsub(" bhp", "", max_power)),
max_power_kw = max_power * 0.7457
)
Categorizzazione dei dati
È possibile creare nuove variabili categoriche raggruppando valori continui in categorie significative. Ad esempio, le auto possono essere classificate in fasce di prezzo Bassa, Media o Alta in base al loro prezzo di vendita.
Base R
Questo può essere fatto con istruzioni ifelse() annidate. Ogni condizione viene verificata in ordine e il valore viene assegnato di conseguenza.
df$price_category <- ifelse(df$selling_price < 300000, "Low",
ifelse(df$selling_price < 700000, "Medium", "High"))
dplyr
È possibile utilizzare la funzione case_when() come sostituto delle istruzioni if-else annidate. Questo consente di scrivere più condizioni in un formato pulito e leggibile.
df <- df %>%
mutate(price_category = case_when(
selling_price < 300000 ~ "Low",
selling_price < 700000 ~ "Medium",
TRUE ~ "High"
))
Grazie per i tuoi commenti!