Inleiding tot schakelverklaring in R

Laten we eens kijken naar een situatie waarin er meerdere opties zijn in de vorm van uitdrukkingen en we onze uitvoer zodanig moeten beheren dat deze de uitdrukkingswaarde en de waarden in de lijst vergelijkt en dienovereenkomstig de uitvoer doorgeeft. Hiervoor kunnen we ook If Else-verklaringen gebruiken, maar er zijn enkele beperkingen zoals If Else-verklaringen niet geschikt zijn wanneer er vertakkingen met meerdere richtingen zijn (meerdere opties). Dus hier kunnen we Switch-instructies gebruiken in r die meerdere voordelen hebben, zoals

  • Een schakelinstructie kan uitdrukkingen testen op basis van een String-object, Lijstwaarde of een enkel geheel getal. Kort gezegd kunnen we in eenvoudiger beweringen zeggen dat de schakelinstructies het beste zijn voor vaste gegevenswaarden.
  • Schakeloverzichten zijn beter voor vertakkingen met meerdere richtingen.
  • De snelheid van het verwerken van code is snel wanneer we schakelinstructies gebruiken (dit is zichtbaar wanneer er een aanzienlijk aantal gevallen is); in het algemeen kostte if-else verklaringen tijd wanneer er een groot aantal gevallen was.
  • Switch-verklaringen zijn minder kwetsbaar voor fouten, omdat ze veel schoner zijn wanneer we cases moeten combineren.

Definitie

Een schakelinstructie vergelijkt de expressiewaarde en de waarden in de lijst en biedt ons de beste uitvoer die aan alle vereisten voldoet. Nu zullen we een illustratie zien waar we de schakeloptie kunnen gebruiken.

Syntaxis:

De basissyntaxis in R voor schakelaarstatements ziet er als volgt uit:

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

Hier vergelijkt de code de expressiewaarde met de waarden in de lijst en wordt de beste overeenkomst geretourneerd als een uitvoer die aan alle voorwaarden van de probleemstelling voldoet.

Regels van Switch-verklaring

De regels die van toepassing zijn in Switch Statement zijn:

1. Er is geen limiet voor case-statements binnen een schakelaar zoals je n aantallen case-statements kunt vormen, de enige beperking is dat elke case wordt gevolgd door de waarde waarmee moet worden vergeleken of een dubbele punt waar de tekenreeks zich bevindt.

2. Als er meer dan één overeenkomst is binnen een schakelinstructie, wordt de eerste overeenkomende case-opdracht als uitvoer geretourneerd.

Voorbeeld 1

Code:

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

Output:

Code:

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

Output:

3. Als de waarde die we in onze code moeten evalueren een getal is en de numerieke waarde buiten bereik is (waarden zijn groter dan het aantal items in de lijst of kleiner dan 1). Dan is de uitkomst die ons is teruggegeven "NULL".

Voorbeeld 2

Code:

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

Output:

Code:

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

Output:

4. Als we een tekenreeks moeten evalueren, moeten tekenreeksen exact worden gekoppeld aan de namen van de elementen.

Voorbeeld 3

Code:

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

Output:

Code:

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

Output:

5. We krijgen alleen een foutmelding als er meer dan één case-statement met verkeerde spelling is of als die uitdrukking niet in de lijst staat of als de overeenkomstige waarde van de case-statement ontbreekt.

Stroomdiagram van schakelaarverklaring in R

  • Als Expression = Case 1, wordt STATEMENT 1 uitgevoerd.
  • Als Expression = Case 2, wordt STATEMENT 2 uitgevoerd.
  • Als Expression = Case 3, wordt STATEMENT 3 uitgevoerd.
  • Als geval 1, geval 2 en geval 3 mislukken, wordt de standaardverklaring uitgevoerd.

Gebruik Cases van Switch-verklaring

Sommige gevallen waarin we switch-verklaringen kunnen gebruiken.

Type 1: Als de expressie nummer is

Code:

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

Output:

Code:

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

Output:

In het bovenstaande voorbeeld hebben we een lijst die uit drie elementen bestaat (Ball, Bat en Wickets). De functie Switch Statement retourneert het overeenkomstige item naar de numerieke waarde die we als uitdrukking hebben ingevoerd.

Hier moeten we de regels nauwgezet volgen tijdens het gebruik van een Switch-instructie, zoals de zeer eenvoudige en veel voorkomende fout is:

“Als de geëvalueerde waarde een getal is en de numerieke waarde buiten bereik is (waarden zijn groter dan het aantal items in de lijst of kleiner dan 1). Het resultaat dat ons is teruggegeven is "NULL".

Code:

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

Output:

Type 2: Als de expressie String is

Code:

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

Output:

Stroomdiagram voor het voorbeeld ziet eruit als:

Type 3: Mix n Match

Voorbeeld 1:

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

Hier hebben we enkele waarden toegewezen aan x en y en voegen we uitdrukking toe aan de schakelopdracht als vergelijking.

Dus x + y = 1 + 2 = 3.

Dit betekent dat de derde waarde in de lijst als uitvoer wordt weergegeven. In ons voorbeeld is de waarde 3 "Hallo Naman".

Code:

En de code voor het bovenstaande voorbeeld ziet er als volgt uit:

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

Output:

Voorbeeld 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")

Als we dit in R uitvoeren, krijgen we.

Code:

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

Output:

Conclusie

  • Switch-verklaringen zijn gemakkelijker te lezen.
  • Switch-verklaringen zijn efficiënter als we het vergelijken met de If-Else-instructie.
  • Switch-verklaringen zijn gemakkelijk te onderhouden en te schrijven.
  • Met behulp van de Switch Statement kunnen we een springtafel maken.
  • Switch-verklaringen helpen ons om grote code erg handig te maken, het is heel gemakkelijk om een ​​fout in de code te traceren, indien aanwezig.

Hoewel er enkele beperkingen zijn, zoals Switch-instructies werken niet met drijvers en ook niet met bereiken (tenzij expliciet vermeld).

Aanbevolen artikelen

Dit is een handleiding voor de schakelinstructie in R. Hier bespreken we de regels, het stroomdiagram en verschillende gebruikssituaties van schakelinstructies in R met voorbeelden. U kunt ook de volgende artikelen bekijken voor meer informatie -

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

Categorie: