2016-05-13 13 views
-4

enter image description hereErsetzen NA Spalten mit Median in R

Ich halte Fehler mit den Codes erhalten, die richtig wäre?

+0

Ihr Bild des Textes [ist nicht sehr hilfreich] (// meta.unix.stackexchange.com/q/4086) . Es kann nicht laut vorgelesen oder in einen Editor kopiert werden, und es indexiert nicht sehr gut, was bedeutet, dass andere Benutzer mit dem gleichen Problem weniger wahrscheinlich die Antwort hier finden. Bitte bearbeiten Sie Ihren Beitrag, um den relevanten Text direkt zu übernehmen (vorzugsweise mit copy + paste, um Übertragungsfehler zu vermeiden). –

Antwort

1

Die erste ist korrekt, aber in der Regel möchten Sie nicht for Schleifen in R. Verwenden Sie apply.

Antwort

v <- runif(10000) 
v[sample(1000,120)] <- NA 
mydata <- as.data.frame(matrix(v,10,100)) 

for (i in 1:ncol(mydata)){ 
    mydata[is.na(mydata[,i]), i] <- median(mydata[,1], na.rm = TRUE) 
} 

Bewerben Lösung

v <- runif(10000) 
v[sample(1000,120)] <- NA 
mydata <- as.data.frame(matrix(v,10,100)) 

medrep <- function(x){ 
    x[is.na(x)] <- median(x, na.rm=TRUE) 
    x 
} 

dat <- data.frame(apply(mydata, 2, medrep))