¿hay algo así como las condiciones "si no" en R?si no condiciones en R?
fácil Ejemplo (no funciona):
fun <- function(x)
{
if (!x > 0) {print ("not bigger than zero")}
}
fun(5)
mejores deseos Philipp
¿hay algo así como las condiciones "si no" en R?si no condiciones en R?
fácil Ejemplo (no funciona):
fun <- function(x)
{
if (!x > 0) {print ("not bigger than zero")}
}
fun(5)
mejores deseos Philipp
El problema está en cómo se está definiendo la condición. Debe ser
if(!(x > 0)){
en lugar de
if(!x > 0){
Esto es porque !x
convierte la entrada (un valor numérico) a una lógica - que dará TRUE
para todos los valores excepto cero. Entonces:
> 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"
¿Qué tal esto?
fun<-function(x){ ifelse(x>0,"not bigger than zero","zero or less") }
fun(5)
[1] "Bigger than zero"
ifelse solo debe usarse para vectores de longitud> 1 –
Su ejemplo funciona correctamente. Pruebe 'divertido (0)'. Con 5, dice "si no es 5> 0". 5 es mayor que 0, entonces eso es 'VERDADERO', pero el no lo hace 'FALSO '. – Shane