Introducere în declarația de comutare în R

Să luăm în considerare o situație în care există mai multe opțiuni sub formă de expresii și trebuie să ne controlăm ieșirea în așa fel încât să compare valoarea expresiei și valorile prezente în listă și să le transmitem în consecință. Pentru aceasta, putem folosi de asemenea instrucțiunile If Else, dar există unele restricții, precum instrucțiunile If Else nu sunt potrivite atunci când există ramificări multiple (opțiuni multiple). Așadar, aici putem folosi instrucțiuni Switch în r care au multiple avantaje, cum ar fi

  • O instrucțiune de comutare poate testa expresii pe baza unui obiect String, a unei valori de listă sau a unui număr întreg, practic, în termeni mai simpli, putem spune că instrucțiunile de comutare sunt cele mai bune pentru valorile de date fixe.
  • Declarațiile de comutare sunt mai bune pentru ramificarea multidirecțională.
  • Viteza procesării codului este rapidă atunci când folosim instrucțiuni de comutare (acest lucru este vizibil atunci când există un număr semnificativ de cazuri); în general, declarațiile if-else au avut timp când există un număr mare de cazuri.
  • Instrucțiunile de comutare sunt mai puțin vulnerabile la erori, deoarece sunt mult mai curate atunci când trebuie să combinăm cazuri.

Definiție

O declarație de comutare va compara valoarea expresiei și valorile prezente în listă și ne va oferi cea mai bună ieșire care îndeplinește toate cerințele. Acum vom vedea câteva ilustrații în care putem folosi instrucțiunea switch.

Sintaxă:

Sintaxa de bază în R pentru declarațiile switch arată:

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

Aici, codul va compara valoarea expresiei cu valorile din listă, iar cea mai bună potrivire va reveni ca o ieșire care îndeplinește fiecare condiție din instrucțiunea problemă.

Reguli ale declarației de comutare

Normele care se aplică în declarația de comutare sunt:

1. Nu există nicio limită pentru instrucțiunile de caz dintr-un comutator, precum puteți forma n numere de instrucțiuni de caz, singura limitare este ca fiecare caz să fie urmat de valoarea care trebuie comparată sau de două puncte, oriunde se află șirul de caractere.

2. Dacă există mai multe potriviri în cadrul unei instrucțiuni de comutare, prima declarație de caz potrivire este returnată ca o ieșire.

Exemplul # 1

Cod:

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

ieşire:

Cod:

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

ieşire:

3. Dacă valoarea pe care trebuie să o evaluăm în codul nostru este un număr și valoarea numerică este în afara domeniului (Valorile sunt mai mari decât numărul de articole din listă sau mai mici decât 1). Apoi rezultatul returnat la noi este „NULL”.

Exemplul # 2

Cod:

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

ieşire:

Cod:

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

ieşire:

4. Dacă trebuie să evaluăm un șir de caractere decât șirurile de caractere ar trebui să fie corelate exact cu numele elementelor.

Exemplul # 3

Cod:

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

ieşire:

Cod:

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

ieşire:

5. Vom obține o eroare ca rezultat numai atunci când există mai mult de o declarație de caz cu o ortografie greșită sau că expresia nu este în listă sau lipsește valoarea corespunzătoare a instrucțiunii de caz.

Diagrama de flux a declarației de comutare în R

  • Dacă Expression = Cazul 1, STATEMENT 1 este executat.
  • Dacă Expression = Cazul 2, STATEMENT 2 este executat.
  • Dacă Expression = Cazul 3, STATEMENT 3 este executat.
  • Dacă Cazul 1, Cazul 2 și Cazul 3 nu reușesc, atunci se execută Declarația Default.

Utilizați cazuri de declarație întrerupător

Câteva cazuri în care putem folosi instrucțiuni switch.

Tip 1: Dacă expresia este numărul

Cod:

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

ieşire:

Cod:

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

ieşire:

În exemplul de mai sus, avem o listă care constă din trei elemente (Ball, Bat și Wickets), funcția de instrucțiune switch va întoarce elementul corespunzător valorii numerice pe care am introdus-o ca expresie.

Aici trebuie să urmăm îndeaproape regulile în timp ce folosim o declarație Switch, cum ar fi eroarea foarte de bază și comună este:

„Dacă valoarea evaluată este un număr și valoarea numerică este în afara domeniului (Valorile sunt mai mari decât numărul de articole din listă sau mai mici decât 1). Rezultatul ne-a revenit este „NULL”.

Cod:

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

ieşire:

Tip 2: Dacă expresia este șir

Cod:

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

ieşire:

Diagrama de flux pentru exemplu arată:

Tip 3: Mix n Match

Exemplul # 1:

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

Aici am atribuit unele valori lui x și y apoi adăugăm expresie în instrucțiunea switch ca ecuație.

Deci x + y = 1 + 2 = 3.

Ceea ce înseamnă a 3 -a valoare din listă va veni ca o ieșire. În exemplul nostru, valoarea 3 este „Hello Naman”.

Cod:

Iar codul pentru exemplul de mai sus arată astfel:

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

ieşire:

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

Când vom rula acest lucru în R vom primi.

Cod:

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

ieşire:

Concluzie

  • Instrucțiunile de comutare sunt mai ușor de citit.
  • Instrucțiunile de comutare sunt mai eficiente dacă o comparăm cu instrucțiunea If-Else.
  • Declarațiile de comutare sunt ușor de întreținut și de scris.
  • Cu ajutorul Declarației de comutare, putem face un tabel de sărituri.
  • Declarațiile de comutare ne ajută să facem codul mare foarte la îndemână, este foarte ușor să urmărim o eroare în cod dacă este cazul.

Deși există unele limitări, cum ar fi declarațiile Switch nu funcționează cu flotări și, de asemenea, nu funcționează cu intervale (dacă nu este menționat explicit).

Articole recomandate

Acesta este un ghid pentru comutarea declarației în R. Aici discutăm Regulile, diagrama de flux și cazurile de utilizări diferite ale declarațiilor de comutare în R cu exemple. De asemenea, puteți consulta următoarele articole pentru a afla mai multe -

  1. Declarație de comutare în C
  2. Declarație de comutare în C ++
  3. Comutarea declarației în JavaScript
  4. Comutarea declarației în Matlab
  5. Declarație de comutare în C #

Categorie: