Introduzione all'istruzione Switch in R

Consideriamo una situazione in cui ci sono più opzioni sotto forma di espressioni e dobbiamo controllare il nostro output in modo tale da confrontare il valore dell'espressione e i valori presenti nell'elenco e quindi passare l'output. Per questo, possiamo usare anche le istruzioni If Else, ma ci sono alcune restrizioni come le istruzioni If Else non sono adatte quando ci sono ramificazioni multidirezionali (opzioni multiple). Quindi qui possiamo usare le istruzioni Switch in r che hanno molteplici vantaggi, come

  • Un'istruzione switch può testare espressioni basate su un oggetto String, un valore Elenco o un intero intero, in sostanza, in termini più semplici, possiamo dire che le istruzioni switch sono le migliori per valori di dati fissi.
  • Le istruzioni di commutazione sono migliori per le ramificazioni multidirezionali.
  • La velocità di elaborazione del codice è elevata quando utilizziamo le istruzioni switch (questo è visibile in presenza di un numero significativo di casi); in genere, le dichiarazioni if-else hanno impiegato del tempo in presenza di un gran numero di casi.
  • Le istruzioni switch sono meno vulnerabili agli errori in quanto sono molto più pulite quando dobbiamo combinare i casi.

Definizione

Un'istruzione switch confronterà il valore dell'espressione e i valori presenti nell'elenco e ci fornirà il miglior output che soddisfa tutti i requisiti. Ora vedremo qualche illustrazione in cui possiamo usare l'istruzione switch.

Sintassi:

La sintassi di base in R per le istruzioni switch è simile a:

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

Qui, il codice confronterà il valore dell'espressione con i valori nell'elenco e la corrispondenza migliore verrà restituita come output che soddisfa tutte le condizioni dell'istruzione del problema.

Dichiarazione delle regole di commutazione

Le regole applicabili nell'istruzione Switch sono:

1. Non vi è alcun limite per le dichiarazioni di casi all'interno di un interruttore come è possibile formare n numeri di istruzioni di caso, l'unica limitazione è che ogni caso è seguito dal valore da confrontare o da due punti ovunque si trovi la stringa di caratteri.

2. Se esiste più di una corrispondenza all'interno di un'istruzione switch, la prima istruzione case corrispondente viene restituita come output.

Esempio 1

Codice:

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

Produzione:

Codice:

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

Produzione:

3. Se il valore che dobbiamo valutare nel nostro codice è un numero e il valore numerico non è compreso nell'intervallo (i valori sono maggiori del numero di elementi nell'elenco o inferiori a 1). Quindi il risultato che ci viene restituito è "NULL".

Esempio n. 2

Codice:

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

Produzione:

Codice:

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

Produzione:

4. Se dobbiamo valutare una stringa di caratteri, le stringhe di caratteri devono corrispondere esattamente ai nomi degli elementi.

Esempio n. 3

Codice:

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

Produzione:

Codice:

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

Produzione:

5. Verrà visualizzato un errore solo se è presente più di un'istruzione case con ortografia errata o se tale espressione non è presente nell'elenco o se manca il valore corrispondente dell'istruzione case.

Diagramma di flusso dell'istruzione Switch in R

  • Se Expression = Case 1, STATEMENT 1 viene eseguito.
  • Se Expression = Case 2, STATEMENT 2 viene eseguito.
  • Se Expression = Case 3, STATEMENT 3 viene eseguito.
  • Se il caso 1, il caso 2 e il caso 3 falliscono, viene eseguita l'istruzione predefinita.

Utilizzare le istruzioni Cases of Switch

Alcuni casi in cui possiamo usare le istruzioni switch.

Tipo 1: se l'espressione è numero

Codice:

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

Produzione:

Codice:

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

Produzione:

Nell'esempio sopra, abbiamo un elenco composto da tre elementi (Ball, Bat e Wickets), la funzione dell'istruzione switch restituirà l'elemento corrispondente al valore numerico che abbiamo inserito come espressione.

Qui dobbiamo seguire da vicino le regole durante l'utilizzo di un'istruzione Switch, come l'errore molto semplice e comune è:

"Se il valore valutato è un numero e il valore numerico non è compreso nell'intervallo (i valori sono maggiori del numero di elementi nell'elenco o inferiori a 1). Il risultato che ci viene restituito è "NULL".

Codice:

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

Produzione:

Tipo 2: se l'espressione è stringa

Codice:

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

Produzione:

Il diagramma di flusso per l'esempio è simile a:

Tipo 3: Mix n Match

Esempio 1:

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

Qui abbiamo assegnato alcuni valori a xey quindi aggiungiamo espressione nell'istruzione switch come equazione.

Quindi x + y = 1 + 2 = 3.

Il che significa che il terzo valore nell'elenco verrà come output. Nel nostro esempio, il valore 3 è "Hello Naman".

Codice:

E il codice per l'esempio sopra è simile al seguente:

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

Produzione:

Esempio n. 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 eseguiremo questo in R otterremo.

Codice:

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

Produzione:

Conclusione

  • Le istruzioni switch sono più facili da leggere.
  • Le istruzioni switch sono più efficienti se la confrontiamo con l'istruzione If-Else.
  • Le istruzioni Switch sono facili da mantenere e scrivere.
  • Con l'aiuto dell'istruzione Switch, possiamo creare una tabella di salto.
  • Le istruzioni switch ci aiutano a rendere il codice di grandi dimensioni molto utile, è molto facile rintracciare un errore nel codice se presente.

Sebbene ci siano alcune limitazioni, come le istruzioni Switch non funzionano con i float e anche con gli intervalli (a meno che non sia esplicitamente menzionato).

Articoli consigliati

Questa è una guida all'istruzione Switch in R. Qui discutiamo le regole, il diagramma di flusso e i diversi casi di utilizzo delle istruzioni switch in R con esempi. Puoi anche consultare i seguenti articoli per saperne di più -

  1. Istruzione switch in C
  2. Istruzione Switch in C ++
  3. Cambia istruzione in JavaScript
  4. Istruzione Switch in Matlab
  5. Istruzione switch in C #

Categoria: