Czy jest coś takiego jak warunki "jeśli nie" w R?jeśli nie warunki w R?
łatwy Przykład (nie działa):
fun <- function(x)
{
if (!x > 0) {print ("not bigger than zero")}
}
fun(5)
najlepsze życzenia Philipp
Czy jest coś takiego jak warunki "jeśli nie" w R?jeśli nie warunki w R?
łatwy Przykład (nie działa):
fun <- function(x)
{
if (!x > 0) {print ("not bigger than zero")}
}
fun(5)
najlepsze życzenia Philipp
Problem polega na tym, w jaki sposób definiowania warunku. Powinno być
if(!(x > 0)){
zamiast
if(!x > 0){
To dlatego !x
przetwarza wejście (liczbowy) do logicznego - co daje TRUE
dla wszystkich wartości z wyjątkiem zera. A więc:
> 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"
Jak na ten temat?
fun<-function(x){ ifelse(x>0,"not bigger than zero","zero or less") }
fun(5)
[1] "Bigger than zero"
ifelse powinno być używane tylko dla wektorów o długości> 1 –
Twój przykład działa poprawnie. Spróbuj 'zabawy (0)'. Przy 5 oznacza "jeśli nie 5> 0". 5 jest większe od 0, więc jest to "PRAWDA", ale nie powoduje "FALSE". – Shane