Einführung in die switch-Anweisung in R

Betrachten wir eine Situation, in der es mehrere Optionen in Form von Ausdrücken gibt und wir unsere Ausgabe so steuern müssen, dass sie den Ausdruckswert und die in der Liste vorhandenen Werte vergleicht und die Ausgabe entsprechend weiterleitet. Hierfür können wir auch If Else-Anweisungen verwenden, es gibt jedoch einige Einschränkungen, wie z. B. If Else-Anweisungen, die nicht für Mehrfachverzweigungen geeignet sind (mehrere Optionen). Hier können wir also Switch-Anweisungen in r verwenden, die mehrere Vorteile haben, wie z

  • Eine switch-Anweisung kann Ausdrücke testen, die auf einem String-Objekt, einem Listenwert oder einer einzelnen Ganzzahl basieren. Einfacher ausgedrückt können wir sagen, dass die switch-Anweisungen am besten für feste Datenwerte geeignet sind.
  • Switch-Anweisungen eignen sich besser für Mehrfachverzweigungen.
  • Die Verarbeitungsgeschwindigkeit von Code ist schnell, wenn wir switch-Anweisungen verwenden (dies ist sichtbar, wenn eine erhebliche Anzahl von Fällen vorliegt). Im Allgemeinen haben if-else-Anweisungen bei einer großen Anzahl von Fällen Zeit in Anspruch genommen.
  • Switch-Anweisungen sind weniger fehleranfällig, da sie viel sauberer sind, wenn wir Fälle kombinieren müssen.

Definition

Eine switch-Anweisung vergleicht den Ausdruckswert und die in der Liste enthaltenen Werte und liefert uns die beste Ausgabe, die alle Anforderungen erfüllt. Nun sehen wir einige Beispiele, in denen wir die switch-Anweisung verwenden können.

Syntax:

Die grundlegende Syntax in R für switch-Anweisungen sieht folgendermaßen aus:

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

Hier vergleicht der Code den Ausdruckswert mit den Werten in der Liste und die beste Übereinstimmung wird als Ausgabe zurückgegeben, die alle Bedingungen der Problemanweisung erfüllt.

Regeln der Switch-Anweisung

Die Regeln, die in der Switch-Anweisung gelten, sind:

1. Es gibt keine Begrenzung für case-Anweisungen innerhalb eines Schalters, so wie Sie n case-Anweisungen bilden können. Die einzige Begrenzung besteht darin, dass auf jeden Fall der zu vergleichende Wert oder ein Doppelpunkt folgt, wo immer sich die Zeichenfolge befindet.

2. Wenn eine switch-Anweisung mehr als eine Übereinstimmung enthält, wird die erste übereinstimmende case-Anweisung als Ausgabe zurückgegeben.

Beispiel 1

Code:

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

Ausgabe:

Code:

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

Ausgabe:

3. Wenn der Wert, den wir in unserem Code auswerten müssen, eine Zahl ist und der numerische Wert außerhalb des Bereichs liegt (Werte sind größer als die Anzahl der Elemente in der Liste oder kleiner als 1). Dann ist das Ergebnis, das uns zurückgegeben wurde, "NULL".

Beispiel # 2

Code:

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

Ausgabe:

Code:

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

Ausgabe:

4. Wenn wir eine Zeichenkette auswerten müssen, sollten Zeichenketten genau auf die Namen der Elemente abgestimmt werden.

Beispiel # 3

Code:

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

Ausgabe:

Code:

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

Ausgabe:

5. Wir erhalten nur dann eine Fehlermeldung, wenn mehr als eine case-Anweisung mit falscher Schreibweise vorliegt oder dieser Ausdruck nicht in der Liste enthalten ist oder der entsprechende Wert der case-Anweisung fehlt.

Flussdiagramm der switch-Anweisung in R

  • Wenn Ausdruck = Fall 1 ist, wird STATEMENT 1 ausgeführt.
  • Wenn Ausdruck = Fall 2, wird STATEMENT 2 ausgeführt.
  • Wenn Ausdruck = Fall 3 ist, wird STATEMENT 3 ausgeführt.
  • Wenn Fall 1, Fall 2 und Fall 3 fehlschlagen, wird die Standardanweisung ausgeführt.

Use Cases of Switch-Anweisung

Einige Fälle, in denen wir switch-Anweisungen verwenden können.

Typ 1: Wenn der Ausdruck Zahl ist

Code:

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

Ausgabe:

Code:

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

Ausgabe:

Im obigen Beispiel haben wir eine Liste, die aus drei Elementen besteht (Ball, Bat und Wickets). Die switch-Anweisungsfunktion gibt das entsprechende Element auf den numerischen Wert zurück, den wir als Ausdruck eingegeben haben.

Hier müssen wir die Regeln bei der Verwendung einer Switch-Anweisung genau befolgen, da der grundlegende und häufig auftretende Fehler Folgendes ist:

„Wenn der ausgewertete Wert eine Zahl ist und der numerische Wert außerhalb des Bereichs liegt (Werte sind größer als die Anzahl der Elemente in der Liste oder kleiner als 1). Das Ergebnis ist "NULL".

Code:

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

Ausgabe:

Typ 2: Wenn der Ausdruck ein String ist

Code:

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

Ausgabe:

Das Flussdiagramm für das Beispiel sieht folgendermaßen aus:

Typ 3: Mix n Match

Beispiel 1:

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

Hier haben wir x und y einige Werte zugewiesen und dann der switch-Anweisung einen Ausdruck als Gleichung hinzugefügt.

Also ist x + y = 1 + 2 = 3.

Dies bedeutet, dass der dritte Wert in der Liste ausgegeben wird. In unserem Beispiel lautet der Wert 3 „Hello Naman“.

Code:

Und der Code für das obige Beispiel sieht folgendermaßen aus:

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

Ausgabe:

Beispiel # 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")

Wenn wir dies in R ausführen, werden wir bekommen.

Code:

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

Ausgabe:

Fazit

  • Switch-Anweisungen sind leichter zu lesen.
  • Switch-Anweisungen sind effizienter, wenn wir sie mit der If-Else-Anweisung vergleichen.
  • Switch-Anweisungen sind einfach zu pflegen und zu schreiben.
  • Mit Hilfe der Switch-Anweisung können wir eine Sprungtabelle erstellen.
  • Switch-Anweisungen helfen uns dabei, großen Code sehr praktisch zu machen. Es ist sehr einfach, einen Fehler im Code zu finden, falls vorhanden.

Obwohl es einige Einschränkungen gibt, funktionieren Switch-Anweisungen nicht mit Floats und auch nicht mit Bereichen (sofern nicht ausdrücklich erwähnt).

Empfohlene Artikel

Dies ist eine Anleitung zur Switch-Anweisung in R. Hier werden die Regeln, das Flussdiagramm und die verschiedenen Verwendungsfälle von switch-Anweisungen in R anhand von Beispielen erläutert. Sie können sich auch die folgenden Artikel ansehen, um mehr zu erfahren -

  1. Switch-Anweisung in C
  2. Switch-Anweisung in C ++
  3. Switch-Anweisung in JavaScript
  4. Switch-Anweisung in Matlab
  5. Switch-Anweisung in C #

Kategorie: