martes, 22 de septiembre de 2009

R: Sentencia de Control Switch

En este apartado, estudiaremos la sentencia de control condicional switch, que será de gran importancia a la hora de discriminar entre varias opciones.

En esta estructura, se evalúa una expresión y dependiendo del tipo que sea, se ejecutará la condición que coincida con el susodicho tipo.

La sintaxis de la sentencia de control switch, es la siguiente:


switch(expresión, lista de alternativas)

Por ejemplo, creamos una función que dependiendo del tipo que le pasemos, realizará la media, la mediana o la suma de los elementos de un vector.

> f1 <- function(tipo, x){
+ switch(tipo,
+ media = mean(x),
+ mediana = median(x),
+ suma = sum(x))
+ }


Probamos la función, declarando previamente un vector cualquiera:

> x <- 0:10
> x
[1] 0 1 2 3 4 5 6 7 8 9 10

> f1("media",x)
[1] 5
> f1("mediana",x)
[1] 5
> f1("suma",x)
[1] 55

Podemos comprobar, que la función da cómo salida lo que queríamos determinar.

R dispone en su ayuda un ilustrativo manual para que podamos aundar más en la sentencia de control condicional:

> ?"switch"

En conclusión, las sentencias de control condicionales mediante el comando switch, son de gran utilidad para complemento del diseño de nuestras funciones, sobre todo, cuando deseamos realizar múltiples condiciones, y lo que es más importante, R dispone de forma fácil su comprensión y empleo.

0 comentarios: