Dans mon ensemble de données, j'ai environ 40% de valeurs manquantes. J'ai donc utilisé impute()
du paquet e1071
. J'ai utilisé le code suivant pour imputer les valeurs manquantes des variables entières par leur médiane, et les valeurs manquantes pour les variables de caractères par leur mode.Pourquoi ne pas imputer la fonction dans R n'est pas capable d'imputer toutes les valeurs NA
library(mlr)
imp1 <- impute(obj = as.data.frame(train_prop), target=character(0),
classes = list(integer=imputeMedian(), factor=imputeMode()))
Après l'exécution du code, j'utilisé le code ci-dessous pour vérifier la valeur manquante
table(is.na(imp1$data))
# FALSE TRUE
# 5493033 13742
qui montre l'ordre de 0,25% valeur manquante
Avant d'exécuter la fonction imputent je l'ai fait même vérification et a trouvé la résultat suivant
# FALSE TRUE
# 3267515 2239260
Initialement mes données avaient 40% de valeurs manquantes, mais après avoir exécuté impute()
, je reçois 0,2% de valeurs manquantes.
Pourquoi n'ai-je pas 0% de valeurs manquantes?
De quel paquet est 'impute()'. Il n'y a pas de paquet appelé 'ml' –
@KenS. Le paquet 'e1071' contient la fonction impute(). – Aditi
Se pourrait-il que certaines de vos variables ne soient ni des variables entières ni des variables de caractères? Si c'est le cas, ils ne seront pas imputés et leurs valeurs manquantes resteront. –