我正在尝试执行一系列功能,但在两个变量之间进行选择。我需要首先估算缺失的值然后规范化变量。我要使用以下代码。
for(i in (train$B365A:train$BSA)){
data[i][is.na(data[i])] <- round(mean(data[i], na.rm = TRUE))
}
所以对于上面,我试图估算缺失的值,它们之间有大约20个变量。
我已经想出了这个,但它并没有影响细胞。
convert_num <- function(i) {
i <- as.numeric(i)
}
for (i in c(1:3)){
convert_num(i)
}
数据类似于以下内容 希望煤风筝 3 4 5 2 1 5 现在它的类,但需要是数字。它有超过20个变量和18k行。
答案 0 :(得分:0)
如果我理解正确,您的问题的解决方案将是以下内容。
data <- data.frame(c1 = c(rbinom(10,5,0.5)),
c2 = c(rbinom(10,5,0.5)),
c3 = c(rbinom(10,5,0.5)))
data[2:4,1] <- rep(NA,3);data[c(6,8),2] <- rep(NA,2);data[10,3] <- NA
data
# imput data from c1:c3
for(i in 1:3){
data[i][is.na(data[i])] <- round(mean(data[,i], na.rm = T))
}
data
data[] <- lapply(data,as.numeric) # transform to numeric
sapply(data,class)