Como alternar entre Possibilidades com Se e Demonstrações # 133-o mais no R

Às vezes, é útil para alternar entre as possibilidades em R. O aninhada if ... else

declaração é especialmente útil se você tem blocos de código completos que têm de ser realizadas quando uma condição for atendida. Mas se você precisa selecionar valores com base apenas em uma condição, há uma opção melhor: Use o interruptor() função.

Fazer escolhas com interruptor

Ao fazer escolhas com switch, você tem uma lista de três escolhas possíveis, e para cada escolha que você tem uma taxa específica IVA. Você pode usar o interruptor() funcionar como este:

CUBA lt; - switch (cliente, privado = 1,12, public = 1,06, no exterior = 1)

Você construir um interruptor() chamar como se segue:

  1. Dar uma solteiro valor como o primeiro argumento (neste caso, o valor de cliente).

    Observe que interruptor() não é vetorizado, por isso não pode lidar com vetores como primeiro argumento.

  2. Após o primeiro argumento, você dá uma lista de opções com os valores respeitados.

    Note que você não tem que colocar aspas em torno das escolhas.

Lembre-se disso interruptor() não funciona de uma forma vectorized. É possível distinguir mais facilmente as escolhas, no entanto, de modo que o código torna-se mais legível.

De facto, o primeiro argumento não tem de ser um valor- pode ser alguma expressão que é avaliada como um vector de caracteres ou um número. No caso de você trabalhar com números, você não precisa nem usar choice = valor na chamada de função. Se você tem números inteiros, interruptor() voltará a opção nessa posição. Na declaração switch (2, 'algum valor', 'algo mais', 'um pouco mais'), o resultado é 'algo mais'.

Use valores padrão no interruptor

Você não tem que especificar todas as opções em um interruptor() ligar. Se você quer ter um certo resultado no caso do valor combinado não está entre as opções especificadas, coloque esse resultado como a última opção, sem qualquer escolha.

CUBA lt; - switch (cliente, privado = 1,12, public = 1,06, 1)

Você pode facilmente testar isso na consola através da criação de um objeto chamado cliente com um certo valor e, em seguida, executar o interruptor() chamada, como no exemplo a seguir:

> cliente lt; - "outro"> switch (cliente, privado = 1,12, public = 1,06, 1) [1] 1

Você pode dar cliente valores diferentes para ver como interruptor() funciona.

menu