对于R中两个变量之间的循环

时间:2017-10-04 00:42:35

标签: r for-loop data-science

我正在尝试执行一系列功能,但在两个变量之间进行选择。我需要首先估算缺失的值然后规范化变量。我要使用以下代码。

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行。

1 个答案:

答案 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)