Skip to content
Prev 323058 / 398503 Next

Replace the missing values with column mean values?

set.seed(25)
dat1<- as.data.frame(matrix(sample(c(1:20,NA),10*20,replace=TRUE),ncol=20))
dat2<- dat1
vec1<-colMeans(dat1,na.rm=TRUE)
?dat2[]<-lapply(seq_len(ncol(dat1)),function(i) {x<-dat1[,i]; x[is.na(x)]<- vec1[i];x})
dat2<-signif(dat2,digits=3)
?dat2


A.K.