Introduktion till Switch Statement i R

Låt oss överväga en situation där det finns flera alternativ i form av uttryck och vi måste kontrollera vår produktion på ett sådant sätt att det kommer att jämföra uttrycksvärdet och värdena som finns i listan och följaktligen vidarebefordra utmatningen. För detta kan vi använda If Else-uttalanden också, men det finns vissa begränsningar för det som om Else-uttalanden inte är lämpliga när det finns flervägsgreningar (flera alternativ). Så här kan vi använda Switch-uttalanden i r som har flera fördelar, som

  • Ett switch-uttalande kan testa uttryck baserat på ett strängobjekt, listvärde eller enstaka heltal, i princip i enklare termer kan vi säga att switch-satserna är bäst för fasta datavärden.
  • Omkopplingsmeddelanden är bättre för flervägsgreningar.
  • Hastigheten för bearbetning av kod är snabb när vi använder switch-uttalanden (detta syns när det finns ett betydande antal fall); i allmänhet tog uttalanden om annat inte tid när det finns ett stort antal fall.
  • Bytesuttalanden är mindre sårbara för fel eftersom de är mycket renare när vi måste kombinera ärenden.

Definition

Ett switch-uttalande kommer att jämföra uttrycksvärdet och värdena i listan och ger oss den bästa utgången som uppfyller alla krav. Nu kommer vi att se några illustrationer där vi kan använda switch-uttalandet.

Syntax:

Den grundläggande syntaxen i R för switch-uttalanden ser ut som:

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

Här kommer koden att jämföra uttrycksvärde med värdena i listan och den bästa matchningen kommer att återgå som en utgång som uppfyller alla villkor i problemmeddelandet.

Regler för omkopplarförklaring

Reglerna som är tillämpliga i Switch Statement är:

1. Det finns ingen gräns för ärendeuttalanden i en switch, som du kan bilda n antal ärendeuttalanden, den enda begränsningen är att varje enskilt fall följs av värdet som ska jämföras med eller en kolon var teckensträngen är.

2. Om det finns mer än en matchning i ett switch-uttalande, returneras den första matchande ärenden som en utgång.

Exempel 1

Koda:

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

Produktion:

Koda:

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

Produktion:

3. Om värdet vi måste utvärdera i vår kod är ett tal och det numeriska värdet är utanför räckvidden (Värdena är större än antalet objekt i listan eller mindre än 1). Då är resultatet ”NULL”.

Exempel 2

Koda:

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

Produktion:

Koda:

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

Produktion:

4. Om vi ​​måste utvärdera en teckensträng bör teckensträngar matchas exakt med namnen på elementen.

Exempel 3

Koda:

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

Produktion:

Koda:

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

Produktion:

5. Vi får ett fel som ett resultat endast när det finns mer än ett ärendeuttalande med fel stavning eller att uttrycket inte finns i listan eller motsvarande värde på ärendeuppgiften saknas.

Flödesschema över omkopplarmeddelande i R

  • Om Uttryck = Fall 1 körs STATEMENT 1.
  • Om Uttryck = Fall 2 körs STATEMENT 2.
  • Om Uttryck = Fall 3 körs STATEMENT 3.
  • Om fall 1, fall 2 och fall 3 misslyckas körs standardförklaringen.

Använd Cases of Switch Statement

Vissa fall där vi kan använda switch-uttalanden.

Typ 1: Om uttrycket är nummer

Koda:

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

Produktion:

Koda:

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

Produktion:

I exemplet ovan har vi en lista som består av tre element (Ball, Bat, och Wickets), omkopplingssatsfunktionen kommer att returnera motsvarande objekt till det numeriska värdet som vi angav som ett uttryck.

Här måste vi följa reglerna när vi använder ett switch-uttalande, som det mycket grundläggande och vanliga felet är:

”Om det utvärderade värdet är ett tal och det numeriska värdet är utanför räckvidden (Värdena är större än antalet objekt i listan eller mindre än 1). Resultatet som returneras till oss är "NULL".

Koda:

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

Produktion:

Typ 2: Om uttrycket strängar

Koda:

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

Produktion:

Flödesschema för exemplet ser ut:

Typ 3: Mix n Match

Exempel 1:

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

Här tilldelade vi några värden till x och y och sedan lägger vi till uttryck i switch-uttalandet som en ekvation.

Så x + y = 1 + 2 = 3.

Vilket innebär att det tredje värdet i listan kommer som en utgång. I vårt exempel är 3-värdet "Hej Naman".

Koda:

Och koden för exemplet ovan ser ut så här:

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

Produktion:

Exempel 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")

När vi kör detta i R kommer vi att få.

Koda:

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

Produktion:

Slutsats

  • Växlaruttalanden är lättare att läsa.
  • Bytesuttalanden är mer effektiva om vi jämför det med if-Else-uttalandet.
  • Switch Statements är enkla att underhålla och skriva.
  • Med hjälp av Switch Statement kan vi göra ett hoppbord.
  • Byt uttalanden hjälper oss att göra stor kod mycket praktisk, det är väldigt lätt att spåra ett fel i koden om någon.

Även om det finns vissa begränsningar som byter uttalanden fungerar inte med flottörer och fungerar det inte med intervall (såvida inte uttryckligen nämns).

Rekommenderade artiklar

Detta är en guide till Switch Statement i R. Här diskuterar vi Regler, flödesschema och olika användningsfall av switch Statements i R med exempel. Du kan också titta på följande artiklar för att lära dig mer -

  1. Byt uttalande i C
  2. Byt uttalande i C ++
  3. Byt uttalande i JavaScript
  4. Byt uttalande i Matlab
  5. Byt uttalande i C #

Kategori: