если не условия в R? - PullRequest
       4

если не условия в R?

11 голосов
/ 10 июня 2010

Есть ли что-то вроде условий "если нет" в R?

easy Пример (не работает):

fun <- function(x)
{
if (!x > 0) {print ("not bigger than zero")}
}

fun(5)

Ответы [ 3 ]

26 голосов
/ 10 июня 2010

Проблема в том, как вы определяете условие. Должно быть

    if(!(x > 0)){ 

вместо

    if(!x > 0){ 

Это потому, что !x преобразует входные данные (числовые) в логические - что даст TRUE для всех значений, кроме нуля. Итак:

> fun <- function(x){
+   if (!(x > 0)) {print ("not bigger than zero")}
+ }
> fun(1)
> fun(0)
[1] "not bigger than zero"
> fun(-1)
[1] "not bigger than zero"
4 голосов
/ 10 июня 2010

Попробуйте:

if(!condition) { do something }
0 голосов
/ 10 июня 2010

Как насчет этого?

fun<-function(x){ ifelse(x>0,"not bigger than zero","zero or less") }

fun(5)

[1] "Bigger than zero"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...