多个if语句出错

时间:2015-09-29 16:18:08

标签: r if-statement

我在R中编写以下代码,但它给了我一个错误

S=function(x,a){
if(x<=a) {return (g)}
    else 
        if (a < x <= b) {return(h)}

> Error: unexpected '<=' in:
> "
>    else if (a < x <="
>                   else (return(i))
>    }

如何更正?

1 个答案:

答案 0 :(得分:0)

所以,我已经重写了你的函数来编译和评估,但我不知道它对你的问题做了什么。

S=function(x, a, b){

    if (x <= a){
        return(a)
    }
    else if ((a < x) && (x <= b)){  # break up the compound into two tests
        return(a)
    }
    else{
        return(a)
    }

}

您需要传递b并且我不知道h,g是什么,但它们未在您的函数声明中分配。

> S(1,2,3)
[1] 2