Úvod do prehlásenia o prepnutí v R

Uvažujme o situácii, keď existuje viac možností vo forme výrazov a musíme kontrolovať náš výstup tak, aby porovnával hodnotu výrazu a hodnoty uvedené v zozname a podľa toho odovzdával výstup. Na tento účel môžeme použiť aj príkazy If Else, ale existujú určité obmedzenia, ako napríklad Príkazy Else, ktoré nie sú vhodné, ak existuje viacsmerné vetvenie (viac možností). Takže tu môžeme použiť príkazy Switch, ktoré majú viacero výhod, napr

  • Príkaz switch môže testovať výrazy na základe objektu String, hodnoty List alebo jedného čísla, v podstate jednoduchšie povedané, môžeme povedať, že príkazy switch sú najlepšie pre pevné hodnoty údajov.
  • Vyhlásenia o prepnutí sú lepšie pre viacsmerné vetvenie.
  • Rýchlosť spracovania kódu je vysoká, keď používame príkazy switch (to je viditeľné, keď existuje významný počet prípadov); vo všeobecnosti platí, že ak existuje veľa iných prípadov, vyhlásenia si vyžiadali určitý čas.
  • Vyhlásenia o zmene dodávateľa sú menej náchylné na chyby, pretože sú oveľa čistejšie, keď musíme kombinovať prípady.

definícia

Príkaz switch porovná hodnotu výrazu a hodnoty uvedené v zozname a poskytne nám najlepší výstup, ktorý spĺňa všetky požiadavky. Teraz uvidíme nejakú ilustráciu, kde môžeme použiť príkaz switch.

syntaxe:

Základná syntax v R pre výkazy prepínačov vyzerá takto:

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

Tu kód porovná hodnotu výrazu s hodnotami v zozname a najlepšia zhoda sa vráti ako výstup, ktorý spĺňa všetky podmienky príkazu.

Pravidlá prehlásenia o zmene dodávateľa

Pravidlá, ktoré sa uplatňujú vo vyhlásení o prepnutí, sú:

1. V rámci prepínača nie sú žiadne obmedzenia pre výroky typu case, ako môžete tvoriť n počet príkazov, jediným obmedzením je, že za každým prípadom nasleduje hodnota, ktorá sa má porovnať, alebo dvojbodka, kdekoľvek je reťazec znakov.

2. Ak existuje viac ako jedna zhoda v rámci príkazu switch, prvý príkaz case matching sa vráti ako výstup.

Príklad č. 1

kód:

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

Výkon:

kód:

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

Výkon:

3. Ak je hodnota, ktorú musíme v našom kóde vyhodnotiť, číslo a číselná hodnota je mimo rozsahu (hodnoty sú väčšie ako počet položiek v zozname alebo menšie ako 1). Výsledok, ktorý sa k nám vrátil, je potom „NULL“.

Príklad č. 2

kód:

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

Výkon:

kód:

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

Výkon:

4. Ak musíme vyhodnotiť reťazec znakov, reťazce znakov by sa mali presne zhodovať s názvami prvkov.

Príklad č. 3

kód:

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

Výkon:

kód:

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

Výkon:

5. Výsledkom bude chyba, len ak existuje viac ako jeden prípad s nesprávnym pravopisom alebo ak výraz nie je v zozname alebo ak chýba zodpovedajúca hodnota príkazu.

Vývojový diagram výkazu spínača v R

  • Ak výraz = Prípad 1, vykoná sa príkaz 1.
  • Ak výraz = prípad 2, vykoná sa vyhlásenie 2.
  • Ak výraz = prípad 3, vykoná sa vyhlásenie 3.
  • Ak Prípad 1, Prípad 2 a Prípad 3 zlyhajú, vykoná sa Východiskové vyhlásenie.

Použite Prípady vyhlásenia o zmene

Niektoré prípady, v ktorých môžeme použiť príkazy typu switch.

Typ 1: Ak je výraz číslo

kód:

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

Výkon:

kód:

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

Výkon:

Vo vyššie uvedenom príklade máme zoznam, ktorý sa skladá z troch prvkov (Ball, Bat a Wickets), funkcia príkazu switch vráti príslušnú položku na číselnú hodnotu, ktorú sme zadali ako výraz.

Tu musíme pri používaní príkazu Switch dôkladne dodržiavať pravidlá, pretože veľmi základnou a častou chybou je:

„Ak je hodnotená hodnota číslo a číselná hodnota je mimo rozsahu (hodnoty sú väčšie ako počet položiek v zozname alebo menšie ako 1). Výsledok vrátený nám je „NULL“.

kód:

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

Výkon:

Typ 2: Ak je výraz reťazec

kód:

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

Výkon:

Vývojový diagram pre príklad vyzerá takto:

Type 3: Mix n Match

Príklad č. 1:

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

Tu sme priradili niektoré hodnoty x a y, potom pridáme výraz do príkazu switch ako rovnicu.

Takže x + y = 1 + 2 = 3.

Čo znamená, že tretia hodnota v zozname príde ako výstup. V našom príklade je hodnota 3 „Ahoj Naman“.

kód:

A kód pre uvedený príklad vyzerá takto:

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

Výkon:

Príklad č. 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")

Keď to spustíme v R, dostaneme.

kód:

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

Výkon:

záver

  • Príkazy prepínača sú ľahšie čitateľné.
  • Príkazy typu switch sú efektívnejšie, ak ich porovnáme s príkazom If-Else.
  • Vyhlásenia o prepínaní sa ľahko udržiavajú a zapisujú.
  • Pomocou príkazu Switch Switch môžeme vytvoriť skokovú tabuľku.
  • Príkazy typu Switch nám pomáhajú veľmi praktizovať veľký kód, je veľmi ľahké zistiť chybu v kóde, ak existuje.

Aj keď existujú určité obmedzenia, ako napríklad príkazy Switch nefungujú s plavákmi a tiež s rozsahmi (pokiaľ to nie je výslovne uvedené) nefunguje.

Odporúčané články

Toto je príručka pre vyhlásenie o prepnutí v R. Tu diskutujeme pravidlá, vývojový diagram a rôzne prípady použitia vyhlásení o prepnutí v R s príkladmi. Ďalšie informácie nájdete aj v nasledujúcich článkoch -

  1. Vyhlásenie o prepnutí v C
  2. Príkaz Switch v C ++
  3. Prepnúť vyhlásenie v JavaScripte
  4. Vyhlásenie o prepnutí v Matlabe
  5. Vyhlásenie o prepnutí v jazyku C #

Kategórie: