Úvod do příkazu Switch v R

Podívejme se na situaci, kdy existuje více možností ve formě výrazů a musíme svůj výstup ovládat tak, aby porovnal hodnotu výrazu a hodnoty uvedené v seznamu a podle toho předal výstup. K tomu můžeme použít příkazy If Else, ale existují určitá omezení, jako jsou příkazy Else, pokud nejsou vhodné, pokud existují vícesměrné větvení (více možností). Takže zde můžeme použít příkazy Switch v r, které mají více výhod, jako například

  • Příkaz switch může testovat výrazy na základě objektu String, hodnoty List nebo jediného celého čísla, v zásadě jednoduššími slovy, můžeme říci, že příkazy switch jsou nejlepší pro pevné datové hodnoty.
  • Prohlášení o přepnutí jsou lepší pro vícesměrné větvení.
  • Rychlost zpracování kódu je vysoká, když používáme příkazy přepínače (to je viditelné, když existuje významný počet případů); Obecně platí, že pokud existuje mnoho jiných prohlášení, trvalo dlouho.
  • Příkazy přepínače jsou méně náchylné k chybám, protože jsou mnohem čistší, když musíme kombinovat případy.

Definice

Příkaz switch porovná hodnotu výrazu a hodnoty uvedené v seznamu a poskytne nám nejlepší výstup, který splňuje všechny požadavky. Nyní uvidíme několik ilustrací, kde můžeme použít příkaz switch.

Syntax:

Základní syntaxe v R pro příkazy Switch vypadá takto:

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

Zde kód porovná hodnotu výrazu s hodnotami v seznamu a nejlepší shoda se vrátí jako výstup, který splňuje všechny podmínky prohlášení o problému.

Pravidla prohlášení o změně

Pravidla, která jsou použitelná v prohlášení Switch:

1. Neexistují žádné limity pro příkazy case v přepínači, jako byste mohli tvořit n počet příkazů case. Jediným omezením je, že každý případ je následován hodnotou, která má být porovnána, nebo dvojtečkou, kdekoli je řetězec znaků.

2. Pokud je v příkazu switch více než jedna shoda, je jako příkaz vrácen první příkaz case matching.

Příklad č. 1

Kód:

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

Výstup:

Kód:

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

Výstup:

3. Je-li hodnota, kterou musíme v našem kódu vyhodnotit, číslo a číselná hodnota je mimo rozsah (hodnoty jsou větší než počet položek v seznamu nebo menší než 1). Výsledek, který se k nám vrátil, je pak „NULL“.

Příklad č. 2

Kód:

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

Výstup:

Kód:

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

Výstup:

4. Pokud musíme vyhodnotit řetězec znaků, měly by se řetězce znaků přesně shodovat se jmény prvků.

Příklad č. 3

Kód:

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

Výstup:

Kód:

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

Výstup:

5. Výsledkem bude chyba, pouze pokud existuje více než jeden příkaz s nesprávným pravopisem nebo pokud výraz není v seznamu nebo chybí odpovídající hodnota příkazu case.

Vývojový diagram prohlášení o přepnutí v R

  • Pokud výraz = Případ 1, je proveden PROHLÁŠENÍ 1.
  • Pokud výraz = Případ 2, je proveden PROHLÁŠENÍ 2.
  • Pokud výraz = Případ 3, je proveden PROHLÁŠENÍ 3.
  • Pokud selže případ 1, případ 2 a případ 3, provede se výchozí příkaz.

Použijte případy prohlášení o změně

Některé případy, kdy můžeme použít příkazy switch.

Typ 1: Pokud je výraz číslo

Kód:

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

Výstup:

Kód:

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

Výstup:

Ve výše uvedeném příkladu máme seznam, který se skládá ze tří prvků (Ball, Bat a Wickets), funkce příkazu switch vrátí odpovídající položku na číselnou hodnotu, kterou jsme zadali jako výraz.

Zde musíme při používání příkazu Switch důsledně dodržovat pravidla, jako je základní a běžná chyba:

„Pokud je hodnocená hodnota číslo a číselná hodnota je mimo rozsah (hodnoty jsou větší než počet položek v seznamu nebo menší než 1). Výsledek vrácený nám je „NULL“.

Kód:

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

Výstup:

Typ 2: Pokud je výraz řetězec

Kód:

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

Výstup:

Vývojový diagram pro příklad vypadá takto:

Typ 3: Mix n Match

Příklad č. 1:

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

Zde jsme přiřadili některé hodnoty x a y, poté přidáme výraz do příkazu switch jako rovnici.

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

Což znamená, že třetí hodnota v seznamu přijde jako výstup. V našem příkladu je hodnota 3 „Hello Naman“.

Kód:

A kód pro výše uvedený příklad vypadá takto:

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

Výstup:

Pří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")

Když 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ýstup:

Závěr

  • Příkazy přepínače jsou snáze čitelné.
  • Příkazy přepínače jsou efektivnější, pokud je porovnáme s příkazem If-Else.
  • Prohlášení o přepínání se snadno udržuje a zapisuje.
  • S pomocí příkazu Switch Switch můžeme vytvořit skokovou tabulku.
  • Příkazy Switch nám pomáhají učinit velký kód velmi užitečným, je velmi snadné sledovat chybu v kódu, pokud existuje.

I když existují určitá omezení, jako například příkazy Switch nefungují s plováky a také s rozsahy (pokud není výslovně uvedeno).

Doporučené články

Toto je průvodce prohlášení o přepnutí v R. Zde diskutujeme pravidla, vývojový diagram a různé případy použití prohlášení o přepnutí v R s příklady. Další informace naleznete také v následujících článcích -

  1. Příkaz Switch v C
  2. Příkaz Switch v C ++
  3. Přepnout příkaz v JavaScriptu
  4. Příkaz Switch v Matlabu
  5. Prohlášení o přepnutí v C #

Kategorie: