Bevezetés a kapcsoló állításba R
Vegyük egy olyan helyzetet, ahol többféle lehetőség van kifejezések formájában, és olyan módon kell ellenőriznünk outputunkat, hogy összehasonlítsa a kifejezés értékét és a listában szereplő értékeket, és ennek megfelelően továbbadja a kimenetet. Ehhez használhatjuk az If Else utasításokat is, de vannak bizonyos korlátozások, például ha az Else utasítások nem megfelelőek, ha többirányú elágazások vannak (több lehetőség). Tehát itt használhatjuk a kapcsoló utasításokat az r-ben, amelyeknek több előnye van, például
- A kapcsoló utasítás kimutatásokat tesztelhet egy karakterlánc objektum, lista érték vagy egyetlen egész szám alapján, alapvetően, egyszerűbben fogalmazva, azt mondhatjuk, hogy a kapcsoló utasítások a legjobbak a rögzített adat értékekhez.
- A kapcsoló utasítások jobbak a többirányú elágazásokhoz.
- A kód feldolgozása gyors, ha kapcsoló utasításokat használunk (ez akkor látható, ha jelentős számú eset van); általában az if-else nyilatkozatok időbe telik, amikor nagyon sok az eset.
- A kapcsoló utasítások kevésbé érzékenyek a hibákra, mivel sokkal tisztábbak, amikor össze kell kapcsolnunk az eseteket.
Meghatározás
A kapcsoló utasítás összehasonlítja a kifejezés és a listában szereplő értékeket, és a legjobb eredményt nyújtja, amely megfelel az összes követelménynek. Most látunk néhány ábrát, ahol felhasználhatjuk a kapcsolót.
Szintaxis:
A kapcsoló-állítások alapvető szintaxisa az R-ben a következőképpen néz ki:
switch(expression, Value 1, Value 2, Value 3…. Value n)
Itt a kód összehasonlítja a kifejezés értékét a listában szereplő értékekkel, és a legjobb egyezés visszatér olyan outputként, amely teljesíti a problémamegjegyzés minden feltételét.
A váltási nyilatkozat szabályai
A váltási nyilatkozatban a következő szabályok alkalmazandók:
1. A kapcsolón belül nincsenek korlátozva az eset-állítások, mivel n számú eset-állítást alakíthat ki; az egyetlen korlátozás az, hogy minden egyes esetet kövessen az összehasonlítandó érték, vagy egy kettőspont, bárhol is legyen a karakterlánc.
2. Ha a kapcsoló utasításban egynél több egyezés található, akkor az első egyezési eset utasítást outputként adja vissza.
1. példa
Kód:
x <- switch("color", "color" = "red", "shape" = "square", "color" = "blue")
x
Kimenet:
Kód:
x <- switch("color", "color" = "blue", "shape" = "square", "color" = "red")
x
Kimenet:
3. Ha a kódunkban ki kell értékelni egy számot, és a numerikus érték nem esik a tartományba (az értékek nagyobb, mint a listában szereplő tételek száma, vagy kisebb, mint 1). Akkor nekünk visszatérő eredmény „NULL”.
2. példa
Kód:
x <- switch(4, "Ball", "Bat", "Wickets")
x
Kimenet:
Kód:
x <- switch(0, "Ball", "Bat", "Wickets")
x
Kimenet:
4. Ha karakterláncot kell értékelnünk, akkor a karakterláncokat pontosan meg kell egyeztetni az elemek nevével.
3. példa
Kód:
x <- switch("color", "color" = "red", "shape" = "square")
x
Kimenet:
Kód:
x <- switch("coler", "color" = "red", "shape" = "square")
x
Kimenet:
5. Csak akkor kapunk hibát, ha egynél több helytelen helyesírási esetnyilatkozat van, vagy ha a kifejezés nem szerepel a listában, vagy hiányzik az esetkifejezés megfelelő értéke.
A kapcsoló nyilatkozatának folyamatábrája R-ben
- Ha kifejezés = 1. eset, akkor az 1. SZAKASZ kerül végrehajtásra.
- Ha kifejezés = 2. eset, akkor a 2. SZAKASZ kerül végrehajtásra.
- Ha kifejezés = 3. eset, akkor a 3. SZAKASZ kerül végrehajtásra.
- Ha az 1., a 2. és a 3. eset nem sikerül, akkor az Alapértelmezett nyilatkozat kerül végrehajtásra.
Használja a váltási nyilatkozatokat
Néhány eset, amikor kapcsoló utasításokat használhatunk.
1. típus: Ha az kifejezés szám
Kód:
switch(2, "Ball", "Bat", "Wickets")
Kimenet:
Kód:
switch(3, "Ball", "Bat", "Wickets")
Kimenet:
A fenti példában van egy lista, amely három elemből áll (Ball, Bat és Wickets), a switch utasítás függvény a megfelelő elemet a numerikus értékre adja vissza, amelyet kifejezésként adtunk meg.
Itt szigorúan be kell tartanunk a szabályokat, miközben a Switch nyilatkozatot használjuk, mint például a legalapvetőbb és általános hiba:
„Ha a becsült érték egy szám, és a numerikus érték nem esik a tartományba (az értékek nagyobb, mint a listában szereplő tételek száma, vagy kevesebb, mint 1). A visszaadott eredmény „NULL”.
Kód:
x <- switch(4, "Ball", "Bat", "Wickets")
x
Kimenet:
2. típus: Ha az kifejezés karakterlánc
Kód:
switch("Wickets", "Ball" = "Red", "Bat" = "Rectangle", "Wickets" = "Out")
Kimenet:
A példa folyamatábrája a következőképpen néz ki:
3. típus: keverje össze a mérkőzést
1. példa:
x= 1
y = 2
z = switch(x+y, "Hello Abhinav", "Hello Mayank", "Hello Naman", "Hello Hardik")
Itt néhány értéket rendelünk x-hez és y-hez, majd hozzáadjuk a kifejezést a switch utasításban egyenletként.
Tehát x + y = 1 + 2 = 3.
Ami azt jelenti, hogy a lista harmadik értéke outputként fog megjelenni. Példánkban a 3 érték „Hello Naman”.
Kód:
És a fenti példa kódja így néz ki:
x= 1
y = 2
z = switch(x+y, "Hello Abhinav", "Hello Mayank", "Hello Naman", "Hello Hardik")
z
Kimenet:
2. példa:
Where x= 1 and y= 7
a = switch(paste(x, y, sep=""), "7"="Hello Abhinav", "12"="Hello Mayank", "17"="Hello Naman", "21"="Hello Hardik")
Ha ezt R-ben futtatjuk, akkor megkapjuk.
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
Kimenet:
Következtetés
- A kapcsoló utasítások könnyebben olvashatók.
- A kapcsoló utasítások hatékonyabbak, ha összehasonlítjuk azokat az If-Else utasításokkal.
- A kapcsoló utasításokat könnyű karbantartani és írni.
- A Switch Statement segítségével elkészíthetünk egy ugródeszkát.
- A kapcsoló utasítások segítenek abban, hogy a nagy kód nagyon hasznos legyen, nagyon könnyű megtalálni a hibát a kódban, ha van.
Noha vannak bizonyos korlátozások is, például a Switch utasítások nem működnek úszókkal, és nem is működnek a tartományokkal (kivéve, ha kifejezetten említik).
Ajánlott cikkek
Ez egy útmutató az átváltási nyilatkozathoz R-ben. Itt példákkal tárgyaljuk a szabályokat, a folyamatábrát és az átváltási nyilatkozatok különböző felhasználási eseteit R-ben. A következő cikkeket is megnézheti további információkért -
- Kapcsoló nyilatkozat C-ben
- Váltás a C ++ kifejezésben
- Váltás a JavaScripten
- Váltás a Matlabban
- Váltás a C # számban