2012-08-04 8 views
5

La capture d'écran ci-jointe montre une partie d'une image que je viens d'importer dans R à partir d'un fichier Excel. Dans les cellules vides, j'ai besoin d'insérer 'NA'. Comment puis-je insérer NA dans une cellule vide (tout en laissant les cellules déjà peuplées)?Insérer les valeurs NA dans l'image

enter image description here

Répondre

16

La meilleure question est de savoir comment puis-je lu dans R afin que les cellules manquantes seront déjà NA s.

Peut-être que vous avez utilisé quelque chose comme ceci:

read.csv(file, header=FALSE, strip.white = TRUE, sep=",") 

précisent les chaînes NA comme quand vous lisez dans:

read.csv(file, header=FALSE, strip.white = TRUE, sep=",", 
    na.strings= c("999", "NA", " ", "")) 

pour répondre effectivement à votre question. Cette approche pourrait fonctionner:

#making fake data on a Saturday morning 
dat <- data.frame(matrix(sample(c("", LETTERS[1:4]), 200, 
    replace=T, c(.6, rep(.1, 4))), 20)) 

#function to replace blanks with missing 
blank2na <- function(x){ 
    z <- gsub("\\s+", "", x) #make sure it's "" and not " " etc 
    x[z==""] <- NA 
    return(x) 
} 

#apply that function 
data.frame(sapply(dat, blank2na)) 
Questions connexes