Introdução à instrução Switch em R

Vamos considerar uma situação em que existem várias opções na forma de expressões e temos que controlar nossa saída de forma a comparar o valor da expressão e os valores presentes na lista e, consequentemente, transmitir a saída. Para isso, também podemos usar as instruções If Else, mas existem algumas restrições, como as instruções If Else, que não são adequadas quando há ramificação de várias vias (várias opções). Portanto, aqui podemos usar as instruções Switch em r que têm várias vantagens, como

  • Uma instrução switch pode testar expressões com base em um objeto String, valor List ou número inteiro único. Basicamente, em termos mais simples, podemos dizer que as instruções switch são melhores para valores de dados fixos.
  • As instruções do switch são melhores para ramificações de várias maneiras.
  • A velocidade do processamento do código é rápida quando usamos instruções switch (isso é visível quando há um número significativo de casos); geralmente, as declarações if-else levavam tempo quando há um grande número de casos.
  • As instruções de switch são menos vulneráveis ​​a erros, pois são muito mais limpas quando temos que combinar casos.

Definição

Uma instrução switch irá comparar o valor da expressão e os valores presentes na lista e fornecer a melhor saída que atenda a todos os requisitos. Agora vamos ver uma ilustração em que podemos usar a instrução switch.

Sintaxe:

A sintaxe básica em R para instruções do switch é semelhante a:

switch(expression, Value 1, Value 2, Value 3…. Value n)

Aqui, o código comparará o valor da expressão com os valores da lista e a melhor correspondência retornará como uma saída que atende a todas as condições da declaração do problema.

Regras da instrução Switch

As regras aplicáveis ​​na instrução Switch são:

1. Não há limite para instruções de caso em uma opção, como você pode formar n números de instruções de caso, a única limitação é que cada caso é seguido pelo valor a ser comparado ou dois pontos onde quer que esteja a cadeia de caracteres.

2. Se houver mais de uma correspondência em uma instrução switch, a primeira instrução de caso correspondente será retornada como uma saída.

Exemplo 1

Código:

x <- switch("color", "color" = "red", "shape" = "square", "color" = "blue")
x

Resultado:

Código:

x <- switch("color", "color" = "blue", "shape" = "square", "color" = "red")
x

Resultado:

3. Se o valor que temos que avaliar em nosso código for um número e o valor numérico estiver fora do intervalo (os valores são maiores que o número de itens na lista ou menores que 1). Em seguida, o resultado retornado para nós é "NULL".

Exemplo 2

Código:

x <- switch(4, "Ball", "Bat", "Wickets")
x

Resultado:

Código:

x <- switch(0, "Ball", "Bat", "Wickets")
x

Resultado:

4. Se tivermos que avaliar uma cadeia de caracteres, as cadeias de caracteres devem corresponder exatamente aos nomes dos elementos.

Exemplo 3

Código:

x <- switch("color", "color" = "red", "shape" = "square")
x

Resultado:

Código:

x <- switch("coler", "color" = "red", "shape" = "square")
x

Resultado:

5. Iremos obter um erro como resultado apenas quando houver mais de uma instrução de caso com ortografia incorreta ou se a expressão não estiver na lista ou se o valor correspondente da instrução de ocorrência estiver ausente.

Diagrama de fluxo da instrução Switch em R

  • Se Expressão = Caso 1, DECLARAÇÃO 1 é executada.
  • Se Expressão = Caso 2, DECLARAÇÃO 2 é executada.
  • Se Expressão = Caso 3, DECLARAÇÃO 3 é executada.
  • Se os casos 1, 2 e 3 falharem, a instrução padrão será executada.

Casos de uso da instrução Switch

Alguns casos em que podemos usar instruções de chave.

Tipo 1: se a expressão for número

Código:

switch(2, "Ball", "Bat", "Wickets")

Resultado:

Código:

switch(3, "Ball", "Bat", "Wickets")

Resultado:

No exemplo acima, temos uma lista que consiste em três elementos (Ball, Bat e Wickets), a função de instrução switch retornará o item correspondente ao valor numérico que inserimos como expressão.

Aqui temos que seguir de perto as regras enquanto estiver usando uma instrução Switch, como o erro muito básico e comum é:

“Se o valor avaliado for um número e o valor numérico estiver fora da faixa (os valores são maiores que o número de itens da lista ou menores que 1). O resultado retornado para nós é "NULL".

Código:

x <- switch(4, "Ball", "Bat", "Wickets")
x

Resultado:

Tipo 2: se a expressão for string

Código:

switch("Wickets", "Ball" = "Red", "Bat" = "Rectangle", "Wickets" = "Out")

Resultado:

O diagrama de fluxo do exemplo é semelhante a:

Tipo 3: combinação n e combinação

Exemplo 1:

x= 1
y = 2
z = switch(x+y, "Hello Abhinav", "Hello Mayank", "Hello Naman", "Hello Hardik")

Aqui atribuímos alguns valores a x e y e adicionamos expressão na instrução switch como uma equação.

Então x + y = 1 + 2 = 3.

O que significa que o terceiro valor da lista será uma saída. No nosso exemplo, o valor 3 é "Hello Naman".

Código:

E o código para o exemplo acima se parece com isso:

x= 1
y = 2
z = switch(x+y, "Hello Abhinav", "Hello Mayank", "Hello Naman", "Hello Hardik")
z

Resultado:

Exemplo 2:

Where x= 1 and y= 7
a = switch(paste(x, y, sep=""), "7"="Hello Abhinav", "12"="Hello Mayank", "17"="Hello Naman", "21"="Hello Hardik")

Quando executamos isso em R, obteremos.

Código:

x= 1
y= 7
a = switch(paste(x, y, sep=""), "7"="Hello Abhinav", "12"="Hello Mayank", "17"="Hello Naman", "21"="Hello Hardik")
a

Resultado:

Conclusão

  • As instruções de troca são mais fáceis de ler.
  • As instruções de comutação são mais eficientes se a compararmos com a instrução If-Else.
  • As instruções do switch são fáceis de manter e escrever.
  • Com a ajuda da instrução Switch, podemos criar uma tabela de salto.
  • As instruções Switch nos ajudam a tornar o código grande muito útil, é muito fácil rastrear um erro no código, se houver.

Embora existam algumas limitações também, como as instruções Switch não funcionam com flutuadores e também não funcionam com intervalos (a menos que mencionado explicitamente).

Artigos recomendados

Este é um guia para a instrução Switch em R. Aqui discutimos as regras, o diagrama de fluxo e os diferentes casos de uso das instruções switch em R com exemplos. Você também pode consultar os seguintes artigos para saber mais -

  1. Alternar instrução em C
  2. Alternar instrução em C ++
  3. Alternar declaração em JavaScript
  4. Alternar declaração no Matlab
  5. Alternar instrução em c #

Categoria: