2016-10-18 2 views
0

Lors de l'importation de données à partir d'un fichier Excel en utilisant la fonction read_excel dans le package readxl, j'ai essayé de spécifier un nombre pour l'argument na mais il ne recode pas les valeurs manquantes. Les données ont été entrées avec une valeur numérique comme réponse manquante.read_excel recode nombre en valeur na

Exemple de données (en r plutôt que d'un fichier excel si):

missing <- data.frame(a = c(1, 2, 3, 4), 
         b = c(99, 2, 3, 4), 
         c = c(1, 99, 3, 4)) 

Si les données ci-dessus sont un fichier Excel séparé J'ai essayé de le lire dans comme ceci:

data <- read_excel("C:/.../missing.xlsx", na = 99) 

Au lieu de recodant les 99 à NA, ils sont simplement lus en nombres. Je voudrais voir une trame de données comme celui-ci sans avoir à utiliser une étape distincte pour recoder les données:

a b c 
1 1 NA 1 
2 2 2 NA 
3 3 3 3 
4 4 4 4 

Répondre

0

read_excel est à la recherche d'une chaîne. Donc, il vous suffit de taper

data <- read_excel("C:/.../missing.xlsx", na = "99")

+0

J'ai essayé avec les petites données d'exemple et cela a fonctionné, mais il ne fonctionne pas pour un jeu de données avec des lignes et 7 2000+ colonnes. –

+0

En fait, il peut s'agir du nombre que j'essaie de remplacer. Les données réelles vont de 1 à 4 avec mes valeurs manquantes mises en 5. La fonction 'summary' dit juste que le maximum est 5. Quand je fais cela pour remplacer 99 cela fonctionne. –

+0

En fait, une dernière pensée l'aurait peut-être fait. Est-ce que la «vue protégée» causerait des problèmes avec cela? Les fichiers ont été téléchargés sur Internet et je ne les avais pas ouverts dans Excel. Je pensais que ce serait seulement une chose excellente mais quand j'ai ouvert les fichiers et les ai sauvés cela a fonctionné. –