Cómo cambiar entre Posibilidades con If ... Else en R

November 23

A veces, es útil para cambiar entre las posibilidades en R. El anidado instrucción if ... else es especialmente útil si tiene bloques de código completos que tienen que llevarse a cabo cuando se cumple una condición. Pero si usted necesita para seleccionar valores basados ​​sólo en una condición, hay una mejor opción: Utilice la función switch ().

Tomar decisiones con interruptor

Cuando la toma de decisiones con el interruptor, usted tiene una lista de tres posibles opciones y para cada elección tiene una tasa específica de IVA. Puede utilizar la función de interruptor () de esta manera:

IVA <- interruptor (cliente, privado = 1,12, público = 1,06, en el extranjero = 1)

Usted construye un interruptor () de llamada de la siguiente manera:

  1. Dé un único valor como primer argumento (en este caso, el valor de cliente).

    Tenga en cuenta que el interruptor () no es vectorizado, por lo que no puede hacer frente a vectores, como primer argumento.

  2. Después de que el primer argumento, le da una lista de opciones con los valores respetados.

    Tenga en cuenta que usted no tiene que poner comillas alrededor de las elecciones.

Recuerde que el interruptor () no funciona de forma vectorizada. Puede distinguir las opciones más fácilmente, sin embargo, lo que el código se vuelve más legible.

De hecho, el primer argumento no tiene que ser un valor; puede ser alguna expresión que se evalúa como un vector carácter o un número. En caso de trabajar con números, usted ni siquiera tiene que utilizar opción = valor en la llamada a la función. Si tiene números enteros, interruptor () devolverá la opción en esa posición. En el interruptor de declaración (2, 'algún valor', 'algo más', 'un poco más'), el resultado es "otra cosa".

Utilice los valores por defecto en el interruptor

Usted no tiene que especificar todas las opciones en un switch () llamada. Si usted quiere tener un resultado determinado en caso de que el valor coincidente no está entre las opciones especificadas, poner ese resultado como la última opción, sin opción alguna.

IVA <- interruptor (cliente, privado = 1,12, público = 1,06, 1)

Usted puede probar fácilmente esto en la consola mediante la creación de un llamado cliente objeto con un valor determinado y luego ejecutar la llamada switch (), como en el siguiente ejemplo:

> Cliente <- "otro"
> Interruptor (cliente, privado = 1,12, público = 1,06, 1)
[1] 1

Usted puede dar a los clientes valores diferentes para ver cómo funciona el interruptor ().