Cambiar caso en R

Las declaraciones de cambio de caso son un sustituto de las declaraciones if largas que comparan una variable con varios valores integrales. El caso de cambio en R es una declaración de rama de múltiples vías. Permite probar la igualdad de una variable frente a una lista de valores.

La instrucción Switch sigue el enfoque de mapeo y búsqueda en una lista de valores. Si hay más de una coincidencia para un valor específico, la declaración de cambio devolverá la primera coincidencia encontrada del valor que coincide con la expresión.

Sintaxis:

switch(expression, case1, case2, case3....)

Aquí, la expresión se compara con la lista de valores y se devuelve el valor correspondiente.

Puntos importantes sobre las declaraciones de Switch Case:

  • Un tipo de expresión con string de caracteres siempre coincide con los casos enumerados.
  • Una expresión que no es una string de caracteres, entonces esta exp se coacciona a un número entero.
  • Para coincidencias múltiples, se utilizará el primer elemento de coincidencia.
  • No hay ningún caso de argumento predeterminado disponible allí en caso de cambio R.
  • Se puede usar un caso sin nombre, si no hay ningún caso coincidente.

Diagrama de flujo:
switch-case-in-R

Ejemplo 1:

# Following is a simple R program  
# to demonstrate syntax of switch.
val <- switch(
   4,
   "Geeks1",
   "Geeks2",
   "Geeks3",
   "Geeks4",
   "Geeks5",
   "Geeks6"
)
print(val)

Producción:

[1] "Geeks4"

Ejemplo 2:

# Following is val1 simple R program  
# to demonstrate syntax of switch.
  
# Mathematical calculation
  
val1 = 6  
val2 = 7
val3 = "s"  
result = switch(  
    val3,  
    "a"= cat("Addition =", val1 + val2),  
    "d"= cat("Subtraction =", val1 - val2),  
    "r"= cat("Division = ", val1 / val2),  
    "s"= cat("Multiplication =", val1 * val2),
    "m"= cat("Modulus =", val1 %% val2),
    "p"= cat("Power =", val1 ^ val2)
)  
    
print(result)  

Producción:

multiplication = 42NULL

Publicación traducida automáticamente

Artículo escrito por SHUBHAMSINGH10 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *