Transformation des Données
La transformation des données constitue une étape essentielle dans la préparation des données brutes pour l’analyse. Elle consiste à modifier, ajouter ou recoder des variables afin de rendre les données plus pertinentes et prêtes pour l’analyse.
Création de nouvelles colonnes
Une transformation courante consiste à calculer de nouveaux indicateurs à partir de colonnes existantes. Par exemple, il peut être pertinent de calculer le prix par kilomètre afin d’évaluer le rapport coût-efficacité d’un véhicule.
Base R
Il est possible de créer une nouvelle colonne en utilisant l’opérateur $
pour définir son nom et en lui attribuant des valeurs.
df$price_per_km <- df$selling_price / df$km_driven
head(df)
dplyr
De nouvelles colonnes peuvent être ajoutées à l'aide de la fonction mutate()
. À l'intérieur de mutate()
, il faut spécifier le nom de la nouvelle colonne et définir son mode de calcul.
df <- df %>%
mutate(price_per_km = selling_price / km_driven)
Conversion et transformation de données numériques textuelles
Dans les ensembles de données réels, les informations numériques sont souvent stockées sous forme de texte combiné à des caractères non numériques. Par exemple, les valeurs de puissance moteur peuvent apparaître sous la forme "68 bhp", qui doivent être nettoyées et converties avant l'analyse.
Base R
Il est possible d'utiliser gsub()
pour supprimer le texte indésirable puis d'appliquer as.numeric()
afin de convertir le résultat en valeurs numériques. Après la conversion, d'autres transformations peuvent être réalisées, comme la conversion de brake horsepower (bhp) en kilowatts.
df$max_power <- as.numeric(gsub(" bhp", "", df$max_power))
df$max_power_kw <- df$max_power * 0.7457 # convert to kilowatts
dplyr
Le même processus peut être simplifié à l'intérieur d'un appel à mutate()
. Il est possible de combiner le remplacement de texte, la conversion de type et la création d'une nouvelle colonne en une seule étape, ce qui rend le code plus lisible et plus clair.
df <- df %>%
mutate(
max_power = as.numeric(gsub(" bhp", "", max_power)),
max_power_kw = max_power * 0.7457
)
Catégorisation des données
De nouvelles variables catégorielles peuvent être créées en regroupant des valeurs continues en catégories significatives. Par exemple, les voitures peuvent être classées dans les gammes de prix Faible, Moyenne ou Élevée selon leur prix de vente.
Base R
Cette opération peut être réalisée avec des instructions ifelse()
imbriquées. Chaque condition est vérifiée dans l'ordre, et la valeur est attribuée en conséquence.
df$price_category <- ifelse(df$selling_price < 300000, "Low",
ifelse(df$selling_price < 700000, "Medium", "High"))
dplyr
La fonction case_when()
peut être utilisée comme alternative aux instructions if-else imbriquées. Cela permet d'écrire plusieurs conditions dans un format clair et lisible.
df <- df %>%
mutate(price_category = case_when(
selling_price < 300000 ~ "Low",
selling_price < 700000 ~ "Medium",
TRUE ~ "High"
))
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Awesome!
Completion rate improved to 4
Transformation des Données
Glissez pour afficher le menu
La transformation des données constitue une étape essentielle dans la préparation des données brutes pour l’analyse. Elle consiste à modifier, ajouter ou recoder des variables afin de rendre les données plus pertinentes et prêtes pour l’analyse.
Création de nouvelles colonnes
Une transformation courante consiste à calculer de nouveaux indicateurs à partir de colonnes existantes. Par exemple, il peut être pertinent de calculer le prix par kilomètre afin d’évaluer le rapport coût-efficacité d’un véhicule.
Base R
Il est possible de créer une nouvelle colonne en utilisant l’opérateur $
pour définir son nom et en lui attribuant des valeurs.
df$price_per_km <- df$selling_price / df$km_driven
head(df)
dplyr
De nouvelles colonnes peuvent être ajoutées à l'aide de la fonction mutate()
. À l'intérieur de mutate()
, il faut spécifier le nom de la nouvelle colonne et définir son mode de calcul.
df <- df %>%
mutate(price_per_km = selling_price / km_driven)
Conversion et transformation de données numériques textuelles
Dans les ensembles de données réels, les informations numériques sont souvent stockées sous forme de texte combiné à des caractères non numériques. Par exemple, les valeurs de puissance moteur peuvent apparaître sous la forme "68 bhp", qui doivent être nettoyées et converties avant l'analyse.
Base R
Il est possible d'utiliser gsub()
pour supprimer le texte indésirable puis d'appliquer as.numeric()
afin de convertir le résultat en valeurs numériques. Après la conversion, d'autres transformations peuvent être réalisées, comme la conversion de brake horsepower (bhp) en kilowatts.
df$max_power <- as.numeric(gsub(" bhp", "", df$max_power))
df$max_power_kw <- df$max_power * 0.7457 # convert to kilowatts
dplyr
Le même processus peut être simplifié à l'intérieur d'un appel à mutate()
. Il est possible de combiner le remplacement de texte, la conversion de type et la création d'une nouvelle colonne en une seule étape, ce qui rend le code plus lisible et plus clair.
df <- df %>%
mutate(
max_power = as.numeric(gsub(" bhp", "", max_power)),
max_power_kw = max_power * 0.7457
)
Catégorisation des données
De nouvelles variables catégorielles peuvent être créées en regroupant des valeurs continues en catégories significatives. Par exemple, les voitures peuvent être classées dans les gammes de prix Faible, Moyenne ou Élevée selon leur prix de vente.
Base R
Cette opération peut être réalisée avec des instructions ifelse()
imbriquées. Chaque condition est vérifiée dans l'ordre, et la valeur est attribuée en conséquence.
df$price_category <- ifelse(df$selling_price < 300000, "Low",
ifelse(df$selling_price < 700000, "Medium", "High"))
dplyr
La fonction case_when()
peut être utilisée comme alternative aux instructions if-else imbriquées. Cela permet d'écrire plusieurs conditions dans un format clair et lisible.
df <- df %>%
mutate(price_category = case_when(
selling_price < 300000 ~ "Low",
selling_price < 700000 ~ "Medium",
TRUE ~ "High"
))
Merci pour vos commentaires !