R不尊重我的if循环条件

时间:2016-07-06 21:18:13

标签: r loops if-statement

我正在根据一些值创建一个分类变量。 if循环运行但它没有给我任何观察“D”,尽管它应该存在。你知道发生了什么吗?

提前谢谢你。

data$n_clasif<-"D"
for (i in 1:n){
    if (data$forecast[i]>=10000){
        data$n_clasif[i]="A"
    } else if   (data$forecast[i]<10000 & data$forecast[i]>=2000){
        data$n_clasif[i]="B"
    } else if (data$forecast[i]<2000 && data$CL_CLASIF_ROLLO[i]!="D"){
        data$n_clasif[i]="C"
    } else {
        data$n_clasif[i]="D"
    }
}

1 个答案:

答案 0 :(得分:1)

n <- 100
data <- data.frame(forecast = runif(n, min =1, max = 20000),
               n_clasif = NA,
               CL_CLASIF_ROLLO = c('A','D'))
for (i in 1:n){
  if(data$forecast[i]>=10000){
    data$n_clasif[i]<-"A"
 } else if(data$forecast[i]<10000 & data$forecast[i]>=2000){
    data$n_clasif[i]<-"B"
 } else if(data$forecast[i]<2000 & data$CL_CLASIF_ROLLO[i]!="D"){
    data$n_clasif[i]<-"C"
 } else {
    data$n_clasif[i]<-"D"
 }
}

我假设您的数据是什么样的。