Cómo cambiar entre las posibilidades con las declaraciones si & # 133-else en r

A veces, es útil para cambiar entre las posibilidades en R. El anidada if ... else

afirmación 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 los valores basado sólo en una condición, hay una mejor opción: Utilizar el switch () función.

Tomar decisiones con interruptor

Cuando la toma de decisiones con el interruptor, usted tiene una lista de tres opciones posibles, y para cada elección que tienen una tasa específica de IVA. Puede utilizar el switch () funcionar como esto:

IVA lt; - Interruptor (cliente, privado = 1,12, pública = 1,06, en el extranjero = 1)

Usted construye un switch () llamar como sigue:

  1. Dar un soltero valor como primer argumento (en este caso, el valor de cliente).

    Tenga en cuenta que switch () No se 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.

Recuerda que switch () no funciona de una forma vectorizada. Usted puede distinguir las opciones más fácilmente, sin embargo, lo que el código es más legible.

De hecho, el primer argumento no tiene que ser una de valor que puede haber alguna expresión que se evalúa o bien un vector de caracteres o un número. En caso de que se trabaja con números, usted ni siquiera tiene que usar opción = valor en la llamada de función. Si usted tiene los números enteros, switch () devolverá la opción en esa posición. En la declaración switch (2, 'algún valor', 'algo más', 'un poco más'), el resultado es 'algo mas'.

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 cierto resultado en el caso de que el valor combinado no está entre las opciones especificadas, poner ese resultado como la última opción, sin opción alguna.

IVA lt; - Interruptor (cliente, privado = 1,12, pública = 1,06, 1)

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

> Cliente lt; - "otro"> interruptor (cliente, privado = 1,12, pública = 1,06, 1) [1] 1

Puedes dar cliente diferentes valores para ver cómo switch () trabajos.




» » » » Cómo cambiar entre las posibilidades con las declaraciones si & # 133-else en r