Trasformazione Dei Dati
La trasformazione dei dati è una fase cruciale nella preparazione dei dati grezzi per l'analisi. Consiste nel modificare, aggiungere o ricodificare 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 potrebbe voler 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 assegnarvi dei 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 in cavalli (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 di 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 Basso, Medio o Alto 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 chiaro 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. Consiste nel modificare, aggiungere o ricodificare 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 potrebbe voler 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 assegnarvi dei 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 in cavalli (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 di 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 Basso, Medio o Alto 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 chiaro e leggibile.
df <- df %>%
mutate(price_category = case_when(
selling_price < 300000 ~ "Low",
selling_price < 700000 ~ "Medium",
TRUE ~ "High"
))
Grazie per i tuoi commenti!