Remplir les valeurs manquantes dans R en utilisant Tidyr, fonction Fill
Données manquantes ou valeurs manquent lorsque l'enregistrement de données est absent dans la variable. Cela causera des problèmes sérieux dans le processus de modélisation des données si ce n'est pas traité correctement. Avant tout, la plupart des algorithmes ne sont pas à l'aise avec les données manquantes.
Il existe de nombreuses façons de gérer les données manquantes dans R. Vous pouvez supprimer ces enregistrements. Mais, gardez à l'esprit que vous supprimez des informations en le faisant et que vous pouvez perdre un avantage potentiel dans la modélisation. D'un autre côté, vous pouvez imputer les données manquantes avec la moyenne et la médiane des données. Dans cet article, nous allons examiner comment remplir les valeurs manquantes dans R en utilisant le package Tidyr.
Tidyr est un package R qui offre de nombreuses fonctions pour vous aider à organiser les données. Plus la qualité des données est élevée, meilleur est le modèle !
1. Données manquantes dans R
- Les valeurs manquantes peuvent être indiquées de plusieurs manières - NA, NAN et plus.
- Il s'agit d'une valeur manquante dans la variable. Cela peut être une seule valeur ou une ligne entière.
- Les valeurs manquantes peuvent apparaître à la fois dans les données numériques et catégoriques.
- R offre de nombreuses méthodes pour traiter les données manquantes
- Le package Tidyr aide à remplir les données manquantes en utilisant l'approche de haut en bas ou de bas en haut.
2. Package Tidyr dans R
- Le package Tidyr dans R est utilisé pour nettoyer les données brutes dans R.
- Il offre des fonctions pour nettoyer, organiser, remplir les valeurs manquantes et plus encore.
- Nous utiliserons tidyr avec les pipes R.
Pour installer le paquet Tidyr dans R, exécutez le code ci-dessous dans R.
#Install tidyr package
install.packages('tidyr')
#Load the library
library(tidyr)package ‘tidyr’ successfully unpacked and MD5 sums checked
Vous recevrez le message de confirmation après le chargement réussi du tidyr comme montré ci-dessus.
3. Créer un DataFrame
Oui, nous devons créer un simple DataFrame d'exemple qui contient des valeurs manquantes. Cela nous aidera à utiliser la fonction fill de tidyr pour remplir les données manquantes.
#Create a dataframe
a <- c('A','B','C','D','E','F','G','H','I','J')
b <- c('Roger','Carlo','Durn','Jessy','Mounica','Rack','Rony','Saly','Kelly','Joseph')
c <- c(86,NA,NA,NA,88,NA,NA,86,NA,NA)
df <- data.frame(a,b,c)
df a b c
1 A Roger 86
2 B Carlo NA
3 C Durn NA
4 D Jessy NA
5 E Mounica 88
6 F Rack NA
7 G Rony NA
8 H Saly 86
9 I Kelly NA
10 J Joseph NAEh bien, nous avons notre dataframe mais avec beaucoup de valeurs manquantes. Donc, dans ces cas où vos données ont de plus en plus de valeurs manquantes, vous pouvez utiliser la fonction fill dans R pour remplir les valeurs correspondantes/voisines à la place des données manquantes.
4. Deux approches différentes
Oui, vous pouvez remplir les données comme je l'ai dit plus tôt. Ce processus comprend deux approches -
- Haut - Lors du remplissage des valeurs manquantes, vous devez spécifier la direction du remplissage des valeurs. Si vous choisissez Haut, le processus de remplissage se fera de bas en haut.
- Vers le bas - Dans cette méthode, vous devez définir la direction de remplissage vers le bas.
Pas compris ?
Ne vous inquiétez pas. Nous allons passer en revue quelques exemples pour illustrer cela et vous apprendrez comment les choses fonctionnent.
5. Remplissage des valeurs manquantes - 'Up'
Dans ce processus, nous avons un cadre de données avec 3 colonnes et 10 enregistrements de données. Avant d'utiliser la fonction de remplissage pour gérer les données manquantes, vous devez vous assurer de certaines choses -
Parfois, lorsqu'on collecte les données, les gens peuvent saisir 1 valeur comme représentation de certaines valeurs, parce qu'elles étaient les mêmes.
Ex : Lors de la collecte de l'âge, s'il y avait 10 personnes dont l'âge est de 25 ans, vous pouvez mentionner 25 pour la dernière personne en indiquant que l'âge des 10 personnes est de 25 ans.
Veuillez noter que ce n'est pas la situation la plus courante que vous rencontrez. Mais, l'intention de cela est de s'assurer que, lorsque vous êtes dans ce genre d'espace, vous pouvez utiliser la fonction de remplissage pour gérer cela.
#Dataframe
a b c
1 A Roger 86
2 B Carlo NA
3 C Durn NA
4 D Jessy NA
5 E Mounica 88
6 F Rack NA
7 G Rony NA
8 H Saly 86
9 I Kelly NA
10 J Joseph NA
#Creste new dataframe by filling missing values (Up)
df1 <- df %>% fill(c, .direction = 'up')
df1 a b c
1 A Roger 86
2 B Carlo 88
3 C Durn 88
4 D Jessy 88
5 E Mounica 88
6 F Rack 86
7 G Rony 86
8 H Saly 86
9 I Kelly NA
10 J Joseph NA
Vous pouvez observer que la fonction fill a rempli les valeurs manquantes en utilisant la direction HAUT (de bas en haut).
- Vous pouvez voir qu'il y a 2 valeurs NA dans les dernières lignes. Cela est dû au fait que la fonction fill rencontre d'abord la valeur NA et la remplit jusqu'à la prochaine valeur NA puisquela direction est UP.
6. Remplissage des valeurs manquantes - 'Vers le bas'
Eh bien, ici nous allons utiliser la méthode « Down » pour remplir les valeurs manquantes dans les données. Assurez-vous toujours de certaines hypothèses que j'ai mentionnées dans la section précédente pour comprendre ce que vous faites et quel sera le résultat.
#Data
a b c
1 A Roger 86
2 B Carlo NA
3 C Durn NA
4 D Jessy NA
5 E Mounica 88
6 F Rack NA
7 G Rony NA
8 H Saly 86
9 I Kelly NA
10 J Joseph NA
#Creates new dataframe by filling missing values (Down) - (Top-Down approach)
df1 <- df %>% fill(c, .direction = 'down')
df1 a b c
1 A Roger 86
2 B Carlo 86
3 C Durn 86
4 D Jessy 86
5 E Mounica 88
6 F Rack 88
7 G Rony 88
8 H Saly 86
9 I Kelly 86
10 J Joseph 86- Ici, il n'y a pas de valeurs manquantes. Cela est dû au fait que la fonction de remplissage rencontre d'abord des valeurs de données valides qui sont 86. Elle remplira le 86 dans les prochaines régions NA jusqu'à ce qu'elle trouve un enregistrement de données valide.
7. Conclusion
Remplir les valeurs manquantes dans R est le processus le plus important lorsque vous analysez des données contenant des valeurs nulles. Les choses peuvent vous sembler un peu difficiles, mais assurez-vous de lire l'article une ou deux fois pour le comprendre de manière concise. Ce n'est pas un cake difficile à digérer !
J'espère que cette méthode vous sera utile dans vos futurs travaux. C'est tout pour le moment. Bon R!!! :)
À lire également : Fonction fill en R
