Introducción a la declaración If en R

La declaración "if" en R es una declaración condicional que se utiliza para probar una condición o generar una salida basada en la condición. Una declaración if en R puede ser seguida por múltiples ifs más, y finalmente por la declaración else. Funciona secuencialmente, por ejemplo, si una condición da positivo en sí mismo, luego, si no, ifs y la instrucción else no se ejecutarán. Del mismo modo, si alguno de los ifs se ejecutan, las instrucciones if y la instrucción else no se ejecutarán. El else se ejecutará solo si el if y el ifs anteriores (si están presentes) dan negativo en la condición.

Sintaxis

La sintaxis de la instrucción if-else en R es la siguiente:

if (condition) (
statement_1 # This statement will execute if the condition is satisfied.
)
else (
statement_2 # This section will execute if the condition is not satisfied.
)

La sintaxis de la instrucción if-else if-else en R es la siguiente:

if (condition_1) (
statement_block_1 # This block will execute if condition 1 is met.
)
else if (condition_2) (
statement_block_2 # This block will execute if condition 2 is met.
)
else (
statement_block_3 # This block will execute if none of the conditions is met.
)

Diagrama de flujo

Aquí está el diagrama de flujo que se menciona a continuación

Ejemplos de declaración If en R

Comprender si la declaración en R a través de ejemplos

La declaración if en R se puede usar en varias situaciones, y funciona con varios tipos de datos. Intentaremos implementarlo para comprender su funcionamiento desde las situaciones básicas hasta las más complejas. Procedamos a entender esto con más detalle.

Ejemplo 1

En este ejemplo, comprobaremos si un número es divisible por 21 o no. Crearemos una función que pruebe esta condición de división usando la instrucción if-else. Luego, pasaremos el número a probar en la función.

La siguiente captura de pantalla muestra la función en R que incorpora if-else para validar una prueba de divisibilidad para un número.

divide.function <- function(x) (
if (x %% 21 == 0)
(
print(“The number is divisible by 21”)
)
else (
print(“The number is not divisible by 21”)
)
)

En el código anterior, un número pasado a la función primero se validará contra una condición en la instrucción if. Entonces, si el número cuando se divide 21 devuelve cero como resto, entonces el código en el bloque if se imprimirá como la salida, de lo contrario, se ejecutará.

Pasar diferentes números en la función anterior da resultados como se muestra a continuación:

Ejemplo # 2

En el segundo ejemplo, ampliaremos el bucle if-else a la instrucción if-else if-else. Aquí, tenemos la intención de verificar si un número es divisible por 7 y 9, solo por 7 pero no por 9, solo por 9 pero no por 7, o por ninguno de los dos números. Si se cumple alguna condición, se ejecutará el bloque de código correspondiente. Puede haber varias declaraciones else-if. Como se mencionó anteriormente, el bloque de código en else se ejecuta solo cuando no se cumple ninguna condición. Las declaraciones de salida en los bloques correspondientes deben transmitir el significado correctamente.

divide.function <- function(x) (
if (x %% 7 == 0 && x %% 9 == 0)
(
print("The number is divisible by both 7 and 9.")
)
else if (x %% 7 == 0) (
print("The number is divisible by 7 but not by 9.")
)
else if (x %% 9 == 0) (
print("The number is divisible by 9 but not by 7.")
)
else (
print("The number is divisible neither by 7 nor by 9.")
)
)

Pasar diferentes números en la función definida usando el código anterior genera resultados como se muestra en la siguiente captura de pantalla.

Pasar diferentes números en la función definida por el usuario divide.function () da el resultado como se indica arriba. Aquí, cuatro tipos de números son posibles; en primer lugar, los divisibles por 7 y 9, como 63 y 126, en segundo lugar, los divisibles por 7 pero no por 9, como 14 y 35, en tercer lugar, los divisibles por 9, pero no por 7, como 18 y 36, y, por último, los que son divisibles por ninguno de los dos enteros, es decir, 7 y 9. La condición final forma parte de la instrucción else ya que, todas las demás condiciones posibles se verifican, en los if y else ifs anteriores.

Ejemplo # 3

En este ejemplo, comprobaremos si un número es un número primo o no. Cualquier número, que es divisible solo por sí mismo y uno, se llama número primo. Sin embargo, debe tenerse en cuenta que 1 no es un número primo ya que no satisface la condición para que un número sea primo, porque, en el caso de 1, ambos números, es decir, en sí y 1 son iguales. Además, ¿qué pasa si un usuario pasa un número negativo a la función para verificar si es primo o no? Por lo tanto, todas las condiciones anteriores deberán tenerse en cuenta al implementar la función. Veamos cómo se ve la función cuando se implementa, como se muestra a continuación.

primecheck.function <- function(x) (
flag <- 1
if (x <= 0)
(
print("Number must be greater than zero.")
)
else if (x == 1)
(
print("1 is not a prime number.")
)
else
(
for (i in 3:x-1)
(
if (x %% i == 0)
(
flag <- 0
)
)
if (flag == 0)
(
paste(x, "is not a prime number.")
)
else
(
paste(x, "is a prime number.")
)
)
)

  • La captura de pantalla anterior muestra la función primecheck.function () definida por el usuario en R. Como se puede ver, el código usa if-else anidado para realizar la tarea. Veamos cómo funciona el código. La función primecheck.function () toma solo un parámetro. Inicialmente, la variable de bandera se establece en 1. Luego comienza la sección if-else if-else. La instrucción if verifica si el número es mayor que cero o no. Esta es una condición muy importante y debe ser la primera condición.
  • De lo contrario, la función genera el mensaje apropiado. A continuación, el else-if comprueba si el número es igual a 1 y le dice al usuario que 1 no es un número primo; La razón se ha dado en la sección anterior. Si no se cumple ninguna de las dos condiciones anteriores, se ejecuta el bloque de código en la sección else. De lo contrario, ahora, esencialmente tratamos de verificar si el número es primo o no para el bucle.
  • El bucle for divide el número de 2 a número menos 1 rango por la variable de incremento, y en este rango, si se divide, la bandera se establece en cero, lo que significa que el número no es un número primo. La instrucción if-else fuera de loop prueba una condición en el indicador y genera la salida adecuada.

La función funciona y proporciona los resultados como se muestra en la siguiente captura de pantalla.

Conclusión

En la programación R, la instrucción if-else o if-else if-else se puede usar de manera efectiva para trabajar con aspectos relacionados con la condición. El script R puede no facilitar la implementación de sentencias if de la misma manera que ofrecen otros lenguajes de programación. Sin embargo, if-else puede integrarse maravillosamente en funciones para obtener todos los resultados posibles.

Artículos recomendados

Esta es una guía para la declaración If en R. Aquí discutimos si la declaración if-else o if-else if-else se puede usar efectivamente para trabajar con aspectos relacionados con la condición. También puede echar un vistazo a los siguientes artículos para obtener más información:

  1. ¿Qué es el lenguaje de programación R?
  2. Paquetes R
  3. Tipos de datos R
  4. Declaración If-else en C
  5. Declaración IF-Else en Matlab

Categoría: