Sissejuhatus lülitusavaldusesse R

Vaatleme olukorda, kus avaldiste kujul on mitu varianti ja me peame oma väljundit kontrollima viisil, mis võrdleb avaldise väärtust ja loendis olevaid väärtusi ning annab vastavalt sellele väljundi edasi. Selleks võime kasutada ka If Else avaldusi, kuid sellele on seatud mõned piirangud, näiteks juhul, kui muu lause ei sobi, kui on mitmepoolsed hargnemised (mitu võimalust). Nii et siin võime kasutada lülitite avaldusi r-s, millel on mitu eelist, nt

  • Lülitusavaldusega saab testida avaldisi, mis põhinevad stringi objektil, loendi väärtusel või üksikul täisarvul, põhimõtteliselt, lihtsamalt öeldes, võime öelda, et lülitusavaldused sobivad kõige paremini fikseeritud andmeväärtuste jaoks.
  • Lülitusavaldused on paremad mitmepoolsel hargnemisel.
  • Koodi töötlemise kiirus on kiire, kui kasutame lülituslauseid (see on nähtav, kui on palju juhtumeid); üldiselt võttis if-else avaldus aega, kui on palju juhtumeid.
  • Lülituslaused on vea suhtes vähem haavatavad, kuna need on juhtumite kombineerimisel palju puhtamad.

Definitsioon

Lülitusväljavõte võrdleb avaldisväärtust ja loendis olevaid väärtusi ning annab meile parima väljundi, mis vastab kõigile nõuetele. Nüüd näeme mõnda illustratsiooni, kus saame kasutada lülituslauset.

Süntaks:

Lülitite avalduste põhisüntaks R-s näeb välja järgmine:

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

Siin võrdleb kood avaldisväärtust loendis olevate väärtustega ja parim vaste naaseb väljundina, mis vastab probleemilause kõigile tingimustele.

Vahetamisreeglid

Lülituse avalduses kehtivad järgmised reeglid:

1. Lüliti sees ei ole juhtumilausete jaoks piirangut, kuna võite moodustada n arvu juhtumiväljavõtteid, ainsaks piiranguks on, et igale juhtumile järgneb võrreldav väärtus või koolon, kus iganes tähemärkide string asub.

2. Kui lülitusavalduses on rohkem kui üks vaste, tagastatakse väljundina esimene vastejuhtumi avaldus.

Näide nr 1

Kood:

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

Väljund:

Kood:

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

Väljund:

3. Kui väärtus, mida peame oma koodis hindama, on arv ja arvväärtus on vahemikust väljas (väärtused on suuremad kui loendis sisalduvate üksuste arv või väiksemad kui 1). Siis on meile tagastatud tulemus „Null”.

Näide 2

Kood:

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

Väljund:

Kood:

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

Väljund:

4. Kui peame hindama tähemärki, tuleks tähemärgid täpselt sobitada elementide nimedega.

Näide 3

Kood:

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

Väljund:

Kood:

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

Väljund:

5. Vea saame selle tulemusel ainult siis, kui vale kirjapildiga juhtumiavaldusi on mitu või kui avaldist loendis pole või kui juhtumiväljaande vastav väärtus puudub.

Lülituskäigu vooskeem R-ga

  • Kui avaldis = juhtum 1, täidetakse AVALDUS 1.
  • Kui avaldis = juhtum 2, täidetakse avaldus 2.
  • Kui avaldis = juhtum 3, täidetakse AVALDUS 3.
  • Kui 1., 2. ja 3. juhtum ei õnnestu, siis täidetakse vaikeavaldus.

Kasuta vahetamisjuhtumi juhtumeid

Mõned juhtumid, kus saame kasutada lülituslauseid.

Tüüp 1: kui avaldis on arv

Kood:

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

Väljund:

Kood:

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

Väljund:

Ülaltoodud näites on meil loend, mis koosneb kolmest elemendist (pall, nahkhiir ja jalgväravad), lülitab lülitusfunktsioon vastava elemendi tagasi arvulise väärtuse juurde, mille me sisestasime avaldisena.

Siinkohal peame Switchi avalduse kasutamisel tähelepanelikult jälgima reegleid, nagu näiteks kõige tavalisem ja tavalisem viga:

„Kui hinnatud väärtus on arv ja arvväärtus on vahemikust väljas (väärtused on suuremad kui loendis olevate üksuste arv või väiksemad kui 1). Meile tagastatud tulemus on NULL.

Kood:

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

Väljund:

Tüüp 2: kui avaldis on string

Kood:

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

Väljund:

Näite vooskeem näeb välja järgmine:

Tüüp 3: segage n mängu

Näide nr 1:

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

Siin määrasime mõned väärtused väärtustele x ja y, siis lisame avaldise lülitusavalduses võrrandina.

Seega x + y = 1 + 2 = 3.

Mis tähendab, et loendis kolmas väärtus tuleb väljundina. Meie näites on 3 väärtus “Tere Naman”.

Kood:

Ja ülaltoodud näite kood näeb välja selline:

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

Väljund:

Näide 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")

Kui me seda R-s jookseme, saame.

Kood:

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

Väljund:

Järeldus

  • Lülitite avaldusi on lihtsam lugeda.
  • Lülituslaused on tõhusamad, kui võrrelda seda If-Else avaldusega.
  • Switchi avaldusi on lihtne hooldada ja kirjutada.
  • Switch Statement'i abil saame teha hüppelaua.
  • Lülituslaused aitavad meil muuta suure koodi väga käepäraseks, koodis sisalduva vea tuvastamiseks on väga lihtne.

Kuigi on olemas mõned piirangud, näiteks ei tööta Switchi avaldused ujukitega ja ka vahemikega (kui pole selgesõnaliselt nimetatud).

Soovitatavad artiklid

See on juhend lülituse avalduse kohta R-s. Siin käsitleme näidetega reegleid, vooskeemi ja lülitusavalduste erinevaid kasutusjuhtumeid R-s. Lisateabe saamiseks võite vaadata ka järgmisi artikleid -

  1. Lülitage avaldus C-s
  2. Lülitage avaldus sisse C ++
  3. Lülitage avaldus JavaScriptis
  4. Lülita avaldus Matlabis
  5. Lülita avaldus C # -s

Kategooria: