2016-05-13 5 views
-4

enter image description hereЗамена столбцов NA медиана в R

Я постоянно получаю ошибки с кодами, которые были бы правильными?

+0

Ваше изображение текста [не очень полезно] (// meta.unix.stackexchange.com/q/4086) , Он не может быть прочитан вслух или скопирован в редактор, и он не индексируется очень хорошо, что означает, что другие пользователи с одинаковой проблемой с меньшей вероятностью найдут ответ здесь. Пожалуйста, отредактируйте свое сообщение, чтобы включить соответствующий текст напрямую (желательно с помощью copy + paste, чтобы избежать ошибок транскрипции). –

ответ

1

Первый правильный, но обычно вы не хотите использовать петли for в R. Попробуйте использовать apply.

Ответ

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) 
} 

Нанести раствор

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)) 
Смежные вопросы