Sentencias if else en R: cómo funcionan las condiciones en R

Como prácticamente en cualquier otro lenguaje de programación, en R tampoco se puede evitar la ejecución condicional de bloques de código concretos. Con la estructura de control if else puedes formular condiciones y conducir así la ejecución de tu programa.

Opciones de uso de la sentencia if else en R

La declaración if else, también conocida como ramificación condicional, suele encargarse de que solo se ejecuten bloques específicos de sentencias cuando se dé una condición. La dimensión condicional de la sentencia if else es fundamental, por lo que es imposible imaginar la mayoría de programas sin ellas. Las condiciones if else son necesarias especialmente en los algoritmos más complejos.

Usar sentencias if else en tu código fuente es práctico por ejemplo si quieres testear las entradas de usuario con un valor determinado. Pero las estructuras if else suelen utilizarse sobre todo con los bucles for en R: si buscas un valor concreto en una estructura de datos, puedes interrumpir directamente el bucle con una sentencia if en cuanto lo haya encontrado.

Consejo

Una buena idea para guardar tus proyectos y programas en un lugar seguro es el alojamiento web con tráfico ilimitado de IONOS. Gracias a las copias de seguridad automáticas, evitas la pérdida de tus datos.

Sintaxis de la sentencia if else en R

Las sentencias if else en R pueden insertarse de distintas maneras combinando las palabras clave “if”, “else” y “else if”. Sin embargo, la lógica de base no cambia: la ejecución de esos bloques de código siempre depende de una condición.

La sintaxis también está estrictamente definida. Tras la palabra clave “if”, siempre viene una condición que se especifica entre paréntesis. Dentro de la condición a menudo se usan operadores de comparación lógica o aritmética. A continuación, se introduce un bloque de código entre corchetes que solo se ejecutará cuando se dé la condición especificada. Dependiendo de para qué sirva tu sentencia, puedes incluir ahora la palabra clave “else” para introducir un bloque de código que se ejecutará solo si la condición if no se da. Además, también puedes formular otras condiciones con la palabra clave “else if”.

Nota

Si los bloques de código que quieres ejecutar constan de una sola línea de código, no hace falta que pongas las sentencias if else entre corchetes. Esto favorece la legibilidad. En cualquier caso, si todavía estás aprendiendo a programar es recomendable que siempre uses los corchetes para evitar problemas.

Condición if en R

Basta con que uses una única sentencia if si quieres ejecutar una condición determinada en tu código. Aquí te lo mostramos:

a <- 0
b <- 40
if (a == 0) {
    print("Zero division not allowed")
    stop()
}
c <- b / a
R

En el código de arriba, la cifra que contiene la variable b debe dividirse entre la cifra de la variable a. Como ya se sabe que no se puede dividir entre cero, en la condición if se comprueba si el valor guardado en a es un cero. Solo cuando así sea, el programa ejecutará el código entre corchetes en el que se detiene la ejecución.

Sentencia if else en R

Si quieres ejecutar bloques de código que dependan de una condición no dada, puedes utilizar la sentencia if else. Al igual que en el caso anterior, primero hay que formular una condición if. Si esta no se da, el programa saltará igualmente a un bloque de código escrito para este caso, tal y como se ilustra en el siguiente ejemplo de código:

a <- 4
b <- 2
if (b < a) {
    print("a is greater than b")
}
else {
    print("a and b are equal or b is greater than a")
}
R

Nuevamente se crean dos variables (a y b) que contienen números enteros. En la condición if se comprobará si b es menor que a. En caso afirmativo, se ejecutará el bloque de la sentencia que hay entre corchetes. En caso negativo, el programa pasará directamente al bloque de sentencia que hay tras la palabra clave “else” y ejecutará el código que contiene esa línea.

Sentencia if else en R

En algunos casos, querrás comprobar no una, sino varias condiciones. Para ello, puedes hacer uso de la palabra clave “else if”. Si te manejas bien con las sentencias if else de Python, quizá conozcas la sentencia else if de R por la palabra clave “elif”.

a <- 4
b <- 2
if (b < a) {
    print("a is greater than b")
}
else if (b > a) {
    print("b is greater than a")
}
R

No hay muchas diferencias entre este ejemplo de código y los anteriores. Simplemente se sustituye la sentencia else por else if. Al igual que en la sentencia if, tras else if, has de indicar una condición entre paréntesis.

Ten en cuenta que las condiciones que se especifican con “else if” son mutuamente excluyentes. Cuando la primera condición sea verdadera, como en el caso de arriba, el código que introduce “else if” no se ejecutará. Asimismo, la sentencia else if ahorra potencia de cálculo en comparación con el uso de muchas sentencias if sueltas.