Ú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 -
- Příkaz Switch v C
- Příkaz Switch v C ++
- Přepnout příkaz v JavaScriptu
- Příkaz Switch v Matlabu
- Prohlášení o přepnutí v C #