Uvod v preklopno izjavo v R

Razmislimo o situaciji, ko obstaja več možnosti v obliki izrazov in moramo svoj izhod nadzorovati tako, da bo primerjal vrednost izraza in vrednosti, ki so prisotne na seznamu, in temu primerno posredoval izhod. Za to lahko uporabimo tudi izjave If Else, vendar obstajajo nekatere omejitve, na primer če stavki Else niso primerni, če obstaja večsmerno razvejanje (več možnosti). Torej tukaj lahko uporabimo stavke Switch v r, ki imajo več prednosti, kot npr

  • Stavka stikala lahko preizkusi izraze, ki temeljijo na objektu String, Vrednosti seznama ali enem samem številu, v bistvu poenostavljeno lahko rečemo, da so stavčni stikali najboljši za fiksne vrednosti podatkov.
  • Izjave o stikalu so boljše za večsmerno razvejanje.
  • Hitrost obdelave kode je hitra, kadar uporabljamo izjave stikal (to je vidno, kadar obstaja veliko število primerov); na splošno, če je drugače, je bilo potrebno čas, ko je veliko primerov.
  • Izjave o preklopu so manj občutljive za napake, saj so veliko bolj čiste, ko moramo kombinirati primere.

Opredelitev

Izjava o stikalu bo primerjala vrednost izraza in vrednosti, ki so na seznamu, in nam dala najboljši izhod, ki ustreza vsem zahtevam. Zdaj bomo videli nekaj ponazoritve, kje lahko uporabimo stavek stikala.

Sintaksa:

Osnovna sintaksa v R za stikalne izjave izgleda:

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

Tu bo koda primerjala vrednost izraza z vrednostmi na seznamu in najboljše ujemanje se bo vrnilo kot izhod, ki izpolnjuje vse pogoje izjave problema.

Pravila izjave o stikalu

Pravila, ki se uporabljajo v izjavi o stikalu, so:

1. V stikalu ni nobene omejitve za izjave primerov, kot je, da lahko oblikujete n število izpisov velikih primerov, edina omejitev je, da vsakemu primeru sledi vrednost, ki jo želite primerjati, ali dvopičje, kjer koli je znakovni niz.

2. Če je v stavku stikala več ujemanj, se prvi izvlečeni primer vrne kot izhod.

Primer # 1

Koda:

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

Izhod:

Koda:

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

Izhod:

3. Če je vrednost, ki jo moramo oceniti v kodi, številka in je številčna vrednost zunaj dosega (Vrednosti so večje od števila elementov na seznamu ali manjše od 1). Nato se je rezultat vrnil k nam "NULL".

Primer # 2

Koda:

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

Izhod:

Koda:

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

Izhod:

4. Če moramo oceniti znakovni niz, potem se morajo nizi znakov natančno ujemati z imeni elementov.

Primer # 3

Koda:

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

Izhod:

Koda:

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

Izhod:

5. Zaradi napake bomo prišli šele, če je več kot ena stavka primera z napačnim črkovanjem ali če tega izraza ni na seznamu ali manjka ustrezna vrednost stavka.

Diagram pretoka izjave stikal v R

  • Če je izraz = primer 1, se izvede IZJAVA 1.
  • Če je izraz = primer 2, se izvede IZJAVA 2.
  • Če je izraz = primer 3, se izvede IZJAVA 3.
  • Če primer 1, primer 2 in primer 3 ne uspejo, se izvrši privzeta izjava.

Uporabite primere izjave stikala

Nekateri primeri, kjer lahko uporabimo stavčne stikale.

Tip 1: Če je izraz izraz Število

Koda:

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

Izhod:

Koda:

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

Izhod:

V zgornjem primeru imamo seznam, ki je sestavljen iz treh elementov (Ball, Bat in Wickets), funkcija preklopa stavek bo vrnila ustrezni element številčni vrednosti, ki smo jo vnesli kot izraz.

Tu moramo med uporabo stavka Switch natančno upoštevati pravila, kot je zelo osnovna in pogosta napaka:

"Če je ocenjena vrednost številčna in je številčna vrednost zunaj dosega (Vrednosti so večje od števila elementov na seznamu ali manjše od 1). Rezultat, ki se nam je vrnil, je "NULL".

Koda:

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

Izhod:

Tip 2: Če je izraz izraz

Koda:

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

Izhod:

Diagram toka za primer izgleda tako:

Tip 3: Mix n Match

1. primer:

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

Tu smo določili nekaj vrednosti x in y, nato pa v izrazu stikala dodali izraz kot enačbo.

Torej x + y = 1 + 2 = 3.

Kar pomeni, da bo tretja vrednost na seznamu prišla kot izhod. V našem primeru je vrednost 3 "Hello Naman".

Koda:

In koda za zgornji primer je videti tako:

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

Izhod:

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

Ko bomo to izvedli v R, bomo dobili.

Koda:

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

Izhod:

Zaključek

  • Izjave o preklopu so lažje berljive.
  • Izjave preklopa so učinkovitejše, če jih primerjamo s stavkom If-Else.
  • Izjave o stikih je enostavno vzdrževati in pisati.
  • S pomočjo stikalne izjave lahko naredimo skakalno tabelo.
  • Izjave o preklopu nam pomagajo, da je velika koda zelo priročna, zelo enostavno je izslediti napako v kodi, če obstaja.

Čeprav obstajajo tudi nekatere omejitve, na primer, da stavki Switch ne delujejo s floats in prav tako ne delujejo z obsegi (razen če je to izrecno omenjeno).

Priporočeni članki

To je vodnik za Izjavo o preklopu v R. Tukaj razpravljamo o pravilih, diagramu pretoka in različnih primerih uporabe izjav o preklopu v R s primeri. Če želite izvedeti več, si oglejte tudi naslednje članke -

  1. Izjava o preklopu na C
  2. Izjava o preklopu v C ++
  3. Izjava o preklopu v JavaScript
  4. Izjava o preklopu v Matlabu
  5. Izjava o preklopu v C #

Kategorija: