Comment utiliser na.rm pour traiter les valeurs manquantes dans R
Nous avons défini na.rm = VRAI dans les fonctions R courantes afin d'exclure les valeurs manquantes (NA). Cela nous permet de calculer des statistiques précises et d'améliorer la fiabilité de nos résultats.
Les données sont générées et consommées à un rythme industriel pour prendre des décisions clés. Cependant, la présence de valeurs manquantes constitue un problème courant dans l'analyse des données. Cela peut fausser les résultats, et il est donc inévitable pour tout analyste de données de les traiter efficacement. Dans R, l'un des outils fondamentaux pour gérer les valeurs manquantes est le paramètre na.rm.
Cet article explique l'importance du traitement des données manquantes, le fonctionnement de na.rm dans R, son utilisation dans différentes fonctions et conclut en discutant de quelques techniques alternatives pour identifier et traiter les données manquantes.
La réponse courte : Qu'est-ce que na.rm ?
Le paramètre na.rm dans R signifie "NA remove" et ignore NA (valeurs manquantes) lors des calculs. En définissant na.rm = TRUE, les fonctions telles que mean(), sum(), min(), max(), median() et sd() calculent les résultats sans être affectées par les valeurs manquantes.
Le paramètre na.rm, écrit en minuscules, comprend une valeur booléenne -TRUE ou FALSE. Lorsque nous définissons na.rm = TRUE, R exclut les valeurs de NA des calculs. Sans ce paramètre, les fonctions renverraient NA si des valeurs manquantes sont présentes dans les données. Jetez un coup d'œil.
vector_with_na <- c(1,2,NA)
sum(vector_with_na, na.rm =TRUE)# removes NA values — returns 3
sum(vector_with_na)# includes NA values — returns NA
sum(vector_with_na, na.rm =FALSE)# includes NA values — returns NAPropulsé par
Consultez le cours Introduction à R pour en savoir plus sur la programmation R de base.
Pourquoi utiliser na.rm ?
Le traitement des valeurs manquantes est crucial dans l'analyse des données pour garantir des résultats exacts, car elles peuvent avoir un impact significatif sur les calculs statistiques, conduisant par inadvertance à des conclusions incorrectes. L'utilisation de na.rm permet d'éviter les erreurs en ignorant ces valeurs manquantes, ce qui permet d'effectuer des calculs fiables et de maintenir l'intégrité des données.
Fonctions courantes utilisant na.rm : Quelques exemples pratiques
Comprenons maintenant comment utiliser na.rm dans R. Plusieurs fonctions R intègrent le paramètre na.rm (fixé par défaut à FALSE ). Voici quelques exemples courants :
sum()
Comme son nom l'indique, sum() calcule le total des valeurs d'un vecteur. Créons un vecteur appelé vector_with_na, que nous utiliserons tout au long de ce tutoriel.
vector_with_na <- c(1,2,NA,4)
sum(vector_with_na)# Returns NA
sum(vector_with_na, na.rm =TRUE)# Returns 7Propulsé par
moyenne()
En reprenant le même exemple, la fonction mean() calcule la moyenne, c'est-à-dire la moyenne des valeurs de notre vecteur.
mean(vector_with_na)# Returns NA
mean(vector_with_na, na.rm =TRUE)# Returns 2.33Propulsé par
sd()
En continuant avec vector_with_na, sd() calcule l'écart-type du vecteur.
sd(vector_with_na)# Returns NA
sd(vector_with_na, na.rm =TRUE)# Returns 1.53Propulsé par
min()
Le site min() recherche la valeur minimale.
min(vector_with_na)# Returns NA
min(vector_with_na, na.rm =TRUE)# Returns 1Propulsé par
max()
max() trouve la valeur maximale.
max(vector_with_na)# Returns NA
max(vector_with_na, na.rm =TRUE)# Returns 4Propulsé par
médiane()
median() trouve la valeur médiane lorsqu'elle est classée dans l'ordre.
median(vector_with_na)# Returns NA
median(vector_with_na, na.rm =TRUE)# Returns 2Propulsé par
Notez qu'en l'absence de na.rm = TRUE, toutes ces fonctions agrégées renvoient NA.
En définissant na.rm = TRUE, ces fonctions excluent les valeurs de NA, ce qui permet des calculs précis et significatifs. Le cursus R Programming Fundamentals peut être une bonne ressource pour mieux comprendre l'utilisation et la syntaxe de ces fonctions.
Traitement des valeurs manquantes dans différentes structures de données
Dans les vecteurs, na.rm peut être utilisé directement dans les fonctions pour exclure les valeurs manquantes. Les exemples présentés dans la section précédente sont tous des exemples de na.rm en action sur des vecteurs.
Trames de données
Pour les cadres de données, na.rm peut être appliqué au sein des fonctions utilisées sur des colonnes spécifiques ou sur plusieurs lignes à l'aide de apply(), comme indiqué ci-dessous :
MARGIN: argument permettant d'identifier l'endroit où appliquer la fonction :
MARGIN=1 pour la manipulation des lignes
MARGIN=2 pour la manipulation des colonnes
MARGIN=c(1,2) pour la manipulation des lignes et des colonnes
FUN: indique la fonction à appliquer. Des fonctions intégrées telles que mean(), median(), sum(), min(), max(), et des fonctions définies par l'utilisateur peuvent être appliquées.
Créons un cadre de données qui nous servira de référence tout au long de ce tutoriel.
La fonction lapply() de R est utilisée pour appliquer une fonction spécifiée à chaque élément d'une liste, d'un vecteur ou d'une base de données, et renvoie une liste de même longueur. Cette fonction ne nécessite pas de paramètre MARGIN, car elle applique automatiquement l'opération à tous les éléments.
vector_with_na: La liste, le vecteur ou le cadre de données en entrée.
fun: La fonction à appliquer à chaque élément de données d'entrée.
Comprenons lapply() à l'aide d'un exemple de liste. Nous avons ici une liste de collections (item_1 et item_2) avec des éléments similaires au cadre de données (dataframe_with_na). Notre objectif est de trouver la moyenne de chaque collection.
La fonction sapply() est similaire à lapply() mais renvoie un tableau ou une matrice au lieu d'une liste. Utilisons la liste (list_with_na) et le site sapply() pour calculer la moyenne des valeurs de chaque collection qu'elle contient.
sapply(list_with_na, mean)# Returns# a b # NA NA
sapply(list_with_na, mean, na.rm =TRUE)# Returns# a b # 3.333333 5.333333Propulsé par
Utilisons maintenant la base de données (dataframe_with_na) et le site sapply() pour calculer la somme des valeurs de chaque colonne.
sapply(dataframe_with_na, sum)# Returns# col1 col2 # NA NA
sapply(dataframe_with_na, sum, na.rm=TRUE)# Returns# col1 col2 # 10 16Propulsé par
Pour une meilleure compréhension de la manipulation des données dans R, le cours Data Manipulation with dplyr est fortement recommandé. Si vous avez des doutes sur la famille de fonctions apply() en particulier, lisez notre tutoriel sur la famille Apply de R.
Comparaison avec na.omit() et complete.cases()
na.omit(): Cette fonction supprime toutes les lignes contenant les valeurs NA dans un cadre de données. Comprenons-le par un exemple :
complete.cases(): D'autre part, complete.cases() identifie les lignes sans aucune valeur NA et renvoie un bool correspondant à chaque ligne (FALSE pour les lignes avec NA et vice-versa). Cette fonction peut être utilisée pour filtrer les valeurs non manquantes dans le cadre de données, comme indiqué ci-dessous.
Techniques avancées de traitement des valeurs manquantes
Au-delà de na.rm, R propose des méthodes avancées pour traiter les données manquantes :
Utiliser is.na() pour identifier les valeurs manquantes
is.na() peut être appliqué directement sur un vecteur ou une base de données pour identifier les données manquantes. Il renvoie une adresse TRUE correspondant à chaque valeur manquante.
Il est intéressant de noter que la fonctionsummary() diffère de la fonction na.rm pour le traitement des valeurs manquantes. Par défaut, summary() exclut automatiquement les valeurs manquantes lors du calcul des statistiques sommaires et indique ensuite le nombre de NAs présents dans les données.
Exécutons summary() sur le vecteur vector_with_na:
summary(vector_with_na)#Returns# Min. 1st Qu. Median Mean 3rd Qu. Max. NA's # 1.000 1.500 2.000 2.333 3.000 4.000 1Propulsé par
Et sur le cadre de données dataframe_with_na:
summary(dataframe_with_na)# Returns# col1 col2 # Min. :1.00 Min. :4.00 # 1st Qu.:2.50 1st Qu.:4.75 # Median :3.00 Median :5.00 # Mean :3.25 Mean :5.25 # 3rd Qu.:3.75 3rd Qu.:5.50 # Max. :6.00 Max. :7.00 Propulsé par
Le cours R intermédiaire offre des connaissances approfondies aux personnes intéressées par des techniques de traitement de données plus avancées.
Meilleures pratiques pour le traitement des valeurs manquantes
Le traitement efficace des valeurs manquantes implique plusieurs bonnes pratiques :
Vérifiez toujours les valeurs manquantes
Identifiez et comprenez l'étendue des données manquantes avant d'effectuer des calculs. L'exemple ci-dessous montre que le cadre de données comporte un total de 2 valeurs manquantes.
Vérifiez toujours la présence de données manquantes et appliquez en conséquence les techniques d'imputation, en veillant à ce que tous les cas limites soient bien traités.
Comprendre pourquoi les données sont manquantes et choisir une méthode appropriée pour les traiter - suppression ou imputation.
Pour une approche structurée de l'analyse des données et de la gestion des valeurs manquantes, le manuel Nettoyage de données en Rpeut être une excellente ressource.
Conclusion
La compréhension et l'utilisation de na.rm sont essentielles pour garantir une analyse fiable et précise des données. Entraînez-vous à utiliser na.rm dans des projets R et explorez des techniques avancées pour traiter les données manquantes de manière exhaustive.
Pour en savoir plus, explorez ces ressources supplémentaires :
Nettoyage des données : Améliorez vos compétences en analyse de données avec notre cours Data Cleaning in R.
Introduction à R : Commencez à programmer avec R grâce à notre cours d'introduction à R ( ).
Je suis un stratège de l'IA et un éthicien qui travaille à l'intersection de la science des données, du produit et de l'ingénierie pour construire des systèmes d'apprentissage automatique évolutifs. Considéré comme l'un des 200 plus grands innovateurs commerciaux et technologiques au monde, je me suis donné pour mission de démocratiser l'apprentissage automatique et de briser le jargon pour que tout le monde puisse participer à cette transformation.
Questions fréquemment posées
Qu'est-ce que le paramètre na.rm dans R ?⌄
Le paramètre na.rm dans R signifie "NA remove". Lorsqu'il est défini sur VRAI, il indique aux fonctions d'ignorer les valeurs NA (manquantes) lors des calculs, ce qui garantit des résultats précis.
Comment utilisez-vous na.rm dans les fonctions courantes de R ?⌄
Vous pouvez utiliser na.rm dans des fonctions telles que sum(), mean(), sd(), min(), max(), et median() en paramétrant na.rm = TRUE pour exclure les valeurs manquantes des calculs.
Pourquoi le traitement des valeurs manquantes est-il important dans l'analyse des données ?⌄
Les valeurs manquantes peuvent fausser les résultats et conduire à des conclusions inexactes. Leur traitement efficace garantit la fiabilité des calculs et l'intégrité des données.
Peut-on utiliser na.rm avec des cadres de données et des listes dans R ?⌄
Oui, na.rm peut être utilisé avec des cadres de données à l'aide de fonctions telles que apply(), et avec des listes à l'aide de lapply() et sapply(), afin d'exclure les valeurs manquantes lors d'opérations sur ces structures de données.
Quelles sont les techniques avancées pour traiter les valeurs manquantes dans R ?⌄
Outre na.rm, les techniques avancées comprennent l'utilisation de is.na() pour identifier les valeurs manquantes, l'application de méthodes d'imputation pour les remplacer et l'utilisation de fonctions telles que na.omit() et complete.cases() pour un nettoyage plus complexe des données.
Découvrez quatre méthodes pour détecter les valeurs NaN en Python, à l'aide de NumPy et Pandas. Apprenez les différences essentielles entre NaN et None afin de nettoyer et d'analyser efficacement les données.
Gagnez en confiance dans la régression par les MCO en maîtrisant ses fondements théoriques. Découvrez comment réaliser des mises en œuvre simples dans Excel, R et Python.
Découvrez les principales différences, les applications et la mise en œuvre de la normalisation et de la standardisation dans le prétraitement des données pour l’apprentissage automatique.
Découvrez comment arrondir un nombre à deux décimales en Python avec round(), les f-strings, format(), le module decimal, NumPy et plus — avec un tableau comparatif des méthodes.
Poursuivez votre parcours pour devenir un ninja de R en vous familiarisant avec les instructions conditionnelles, les boucles et les fonctions vectorielles.
Les données sont générées et consommées à un rythme industriel pour prendre des décisions clés. Cependant, la présence de valeurs manquantes constitue un problème courant dans l'analyse des données. Cela peut fausser les résultats, et il est donc inévitable pour tout analyste de données de les traiter efficacement. Dans R, l'un des outils fondamentaux pour gérer les valeurs manquantes est le paramètre
na.rm.Cet article explique l'importance du traitement des données manquantes, le fonctionnement de
na.rmdans R, son utilisation dans différentes fonctions et conclut en discutant de quelques techniques alternatives pour identifier et traiter les données manquantes.La réponse courte : Qu'est-ce que na.rm ?
Le paramètre
na.rmdans R signifie "NA remove" et ignoreNA(valeurs manquantes) lors des calculs. En définissantna.rm = TRUE, les fonctions telles quemean(),sum(),min(),max(),median()etsd()calculent les résultats sans être affectées par les valeurs manquantes.Le paramètre
na.rm, écrit en minuscules, comprend une valeur booléenne -TRUEouFALSE. Lorsque nous définissonsna.rm = TRUE, R exclut les valeurs deNAdes calculs. Sans ce paramètre, les fonctions renverraientNAsi des valeurs manquantes sont présentes dans les données. Jetez un coup d'œil.Consultez le cours Introduction à R pour en savoir plus sur la programmation R de base.
Pourquoi utiliser na.rm ?
Le traitement des valeurs manquantes est crucial dans l'analyse des données pour garantir des résultats exacts, car elles peuvent avoir un impact significatif sur les calculs statistiques, conduisant par inadvertance à des conclusions incorrectes. L'utilisation de
na.rmpermet d'éviter les erreurs en ignorant ces valeurs manquantes, ce qui permet d'effectuer des calculs fiables et de maintenir l'intégrité des données.Le cours " Data Cleaning in R" (nettoyage de données en R) est très utile pour améliorer nos compétences en matière d'analyse de données.
Fonctions courantes utilisant na.rm : Quelques exemples pratiques
Comprenons maintenant comment utiliser
na.rmdans R. Plusieurs fonctions R intègrent le paramètrena.rm(fixé par défaut àFALSE). Voici quelques exemples courants :sum()
Comme son nom l'indique,
sum()calcule le total des valeurs d'un vecteur. Créons un vecteur appelévector_with_na, que nous utiliserons tout au long de ce tutoriel.moyenne()
En reprenant le même exemple, la fonction
mean()calcule la moyenne, c'est-à-dire la moyenne des valeurs de notre vecteur.sd()
En continuant avec
vector_with_na,sd()calcule l'écart-type du vecteur.min()
Le site
min()recherche la valeur minimale.max()
max()trouve la valeur maximale.médiane()
median()trouve la valeur médiane lorsqu'elle est classée dans l'ordre.Notez qu'en l'absence de
na.rm = TRUE, toutes ces fonctions agrégées renvoientNA.En définissant
na.rm = TRUE, ces fonctions excluent les valeurs deNA, ce qui permet des calculs précis et significatifs. Le cursus R Programming Fundamentals peut être une bonne ressource pour mieux comprendre l'utilisation et la syntaxe de ces fonctions.Traitement des valeurs manquantes dans différentes structures de données
Voyons comment traiter les valeurs manquantes dans différentes structures de données. Avant de poursuivre, consultez notre Maîtriser les structures de données dans le langage de programmation R si vous souhaitez en savoir plus sur les structures de données R.
Vecteurs
Dans les vecteurs,
na.rmpeut être utilisé directement dans les fonctions pour exclure les valeurs manquantes. Les exemples présentés dans la section précédente sont tous des exemples dena.rmen action sur des vecteurs.Trames de données
Pour les cadres de données,
na.rmpeut être appliqué au sein des fonctions utilisées sur des colonnes spécifiques ou sur plusieurs lignes à l'aide deapply(), comme indiqué ci-dessous :Ici :
Xun tableau, un cadre de données ou une matriceMARGIN: argument permettant d'identifier l'endroit où appliquer la fonction :MARGIN=1pour la manipulation des lignesMARGIN=2pour la manipulation des colonnesMARGIN=c(1,2)pour la manipulation des lignes et des colonnesFUN: indique la fonction à appliquer. Des fonctions intégrées telles quemean(),median(),sum(),min(),max(), et des fonctions définies par l'utilisateur peuvent être appliquées.Créons un cadre de données qui nous servira de référence tout au long de ce tutoriel.
Listes
La fonction
lapply()de R est utilisée pour appliquer une fonction spécifiée à chaque élément d'une liste, d'un vecteur ou d'une base de données, et renvoie une liste de même longueur. Cette fonction ne nécessite pas de paramètreMARGIN, car elle applique automatiquement l'opération à tous les éléments.Syntaxe :
Ici :
: La liste, le vecteur ou le cadre de données en entrée.vector_with_nafun: La fonction à appliquer à chaque élément de données d'entrée.Comprenons
lapply()à l'aide d'un exemple de liste. Nous avons ici une liste de collections (item_1etitem_2) avec des éléments similaires au cadre de données (dataframe_with_na). Notre objectif est de trouver la moyenne de chaque collection.La fonction
sapply()est similaire àlapply()mais renvoie un tableau ou une matrice au lieu d'une liste. Utilisons la liste (list_with_na) et le sitesapply()pour calculer la moyenne des valeurs de chaque collection qu'elle contient.Utilisons maintenant la base de données (
dataframe_with_na) et le sitesapply()pour calculer la somme des valeurs de chaque colonne.Pour une meilleure compréhension de la manipulation des données dans R, le cours Data Manipulation with dplyr est fortement recommandé. Si vous avez des doutes sur la famille de fonctions apply() en particulier, lisez notre tutoriel sur la famille Apply de R.
Comparaison avec na.omit() et complete.cases()
na.omit(): Cette fonction supprime toutes les lignes contenant les valeursNAdans un cadre de données. Comprenons-le par un exemple :complete.cases(): D'autre part,complete.cases()identifie les lignes sans aucune valeurNAet renvoie un bool correspondant à chaque ligne (FALSEpour les lignes avecNAet vice-versa). Cette fonction peut être utilisée pour filtrer les valeurs non manquantes dans le cadre de données, comme indiqué ci-dessous.Techniques avancées de traitement des valeurs manquantes
Au-delà de
na.rm, R propose des méthodes avancées pour traiter les données manquantes :Utiliser is.na() pour identifier les valeurs manquantes
is.na()peut être appliqué directement sur un vecteur ou une base de données pour identifier les données manquantes. Il renvoie une adresseTRUEcorrespondant à chaque valeur manquante.Application des méthodes d'imputation
L'imputation remplace les valeurs manquantes par des valeurs estimées, telles que la moyenne ou la médiane, comme indiqué ci-dessous :
Utilisation de la fonction summary()
Il est intéressant de noter que la fonction
summary()diffère de la fonctionna.rmpour le traitement des valeurs manquantes. Par défaut,summary()exclut automatiquement les valeurs manquantes lors du calcul des statistiques sommaires et indique ensuite le nombre deNAs présents dans les données.Exécutons
summary()sur le vecteurvector_with_na:Et sur le cadre de données
dataframe_with_na:Le cours R intermédiaire offre des connaissances approfondies aux personnes intéressées par des techniques de traitement de données plus avancées.
Meilleures pratiques pour le traitement des valeurs manquantes
Le traitement efficace des valeurs manquantes implique plusieurs bonnes pratiques :
Vérifiez toujours les valeurs manquantes
Identifiez et comprenez l'étendue des données manquantes avant d'effectuer des calculs. L'exemple ci-dessous montre que le cadre de données comporte un total de 2 valeurs manquantes.
Utiliser des contrôles conditionnels
Vérifiez toujours la présence de données manquantes et appliquez en conséquence les techniques d'imputation, en veillant à ce que tous les cas limites soient bien traités.
Tenez compte du contexte
Comprendre pourquoi les données sont manquantes et choisir une méthode appropriée pour les traiter - suppression ou imputation.
Pour une approche structurée de l'analyse des données et de la gestion des valeurs manquantes, le manuel Nettoyage de données en R peut être une excellente ressource.
Conclusion
La compréhension et l'utilisation de
na.rmsont essentielles pour garantir une analyse fiable et précise des données. Entraînez-vous à utiliserna.rmdans des projets R et explorez des techniques avancées pour traiter les données manquantes de manière exhaustive.Pour en savoir plus, explorez ces ressources supplémentaires :