Regression 将NA列替换为R中的中间值

Regression 将NA列替换为R中的中间值,regression,categorical-data,Regression,Categorical Data,我不断发现代码错误,这是正确的吗?第一个代码是正确的,但通常情况下,您不希望对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 = TR


我不断发现代码错误,这是正确的吗?

第一个代码是正确的,但通常情况下,您不希望对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您的文本图像。它不能被大声朗读或复制到编辑器中,而且索引也不太好,这意味着其他有同样问题的用户在这里找到答案的可能性较小。请您的帖子直接包含相关文本(最好使用复制+粘贴以避免抄写错误)。
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))