R语言if else语句的问题

Python018

R语言if else语句的问题,第1张

a <- function(x){

if(x <0){

result = x-1

}else if(x >=0 &x <5){

result = x-1

}else{

result = x+2

}

return(result)

}

第一次件ifelse嵌套这么多的使用,你是跟自己有仇么,非要把问题搞的这么复杂。。。

建议用if条件句,或者BASE中原始方法修改。

ifelse个人觉得嵌套两个最优。再多必然晕。

我理解,你的意思是循环的判断,当最后一项为1,且第一项为0 的时候,那么这两者交换;

但是,代码表示的逻辑是,不论是不是最后一项,只要不满足当前项为1,下一项为0,就做else块中的代码;可见当i=1,5,6,7,8,9,10时,都执行了else中的代码;

最后,按照你的风格,修改如下:

 redrowmove<-function(x){

  for(i in 1:(length(x)-1)){

    if(x[i]==1 && x[i+1]==0){

      x[i]=0

      x[i+1]=1

    }

  }

  if(x[length(x)]==1 && x[1]==0){

    x[length(x)]=0

    x[1]=1

  }

  return(x)

}