Въведение в извлечението за превключване в R
Нека разгледаме ситуация, при която има множество опции под формата на изрази и трябва да контролираме нашия изход по такъв начин, че той да сравнява стойността на израза и стойностите, присъстващи в списъка, и съответно да предава на изхода. За това можем да използваме и инструкциите If Else, но има някои ограничения за него като If Else операторите не са подходящи, когато има многопосочно разклоняване (множество опции). Така че тук можем да използваме оператори Switch в r, които имат множество предимства, като
- Компонентът за превключване може да тества изрази въз основа на обект String, стойност на списъка или едно цяло число, като цяло, по-просто казано, можем да кажем, че операторите на комутатора са най-добри за фиксирани стойности на данни.
- Извлеченията за превключване са по-добри за многопосочно разклоняване.
- Скоростта на обработка на кода е бърза, когато използваме оператори за превключване (това е видимо, когато има значителен брой случаи); като цяло, ако не, изявленията отнеха време, когато има голям брой случаи.
- Изявленията за превключване са по-малко уязвими към грешки, тъй като са много по-чисти, когато трябва да комбинираме случаи.
дефиниция
Компонент за превключване ще сравни стойността на израза и стойностите, присъстващи в списъка, и ще ни предостави най-доброто изходно съдържание, което отговаря на всички изисквания. Сега ще видим някаква илюстрация, където можем да използваме оператора за превключване.
Синтаксис:
Основният синтаксис в R за превключвателни извлечения изглежда така:
switch(expression, Value 1, Value 2, Value 3…. Value n)
Тук кодът ще сравнява стойността на израза със стойностите в списъка и най-доброто съвпадение ще се върне като изход, който изпълнява всяко условие на оператора на проблема.
Правила за съобщение за превключване
Правилата, които са приложими в Switch Statement са:
1. Няма ограничение за изявленията на букви в рамките на ключ, като можете да формирате n броя изявления на регистъра, като единственото ограничение е всеки случай да бъде последван от стойността, която трябва да се сравнява или двоеточие, където и да е символния низ.
2. Ако има повече от едно съвпадение в оператора за превключване, първото съвпадение на случая се връща като изход.
Пример №1
Код:
x <- switch("color", "color" = "red", "shape" = "square", "color" = "blue")
x
изход:
Код:
x <- switch("color", "color" = "blue", "shape" = "square", "color" = "red")
x
изход:
3. Ако стойността, която трябва да оценим в нашия код, е число и числовата стойност е извън диапазона (Стойностите са по-големи от броя на елементите в списъка или по-малки от 1). Тогава върнатият при нас резултат е „NULL“.
Пример №2
Код:
x <- switch(4, "Ball", "Bat", "Wickets")
x
изход:
Код:
x <- switch(0, "Ball", "Bat", "Wickets")
x
изход:
4. Ако трябва да оценим символен низ, символните низове трябва да бъдат съпоставени точно с имената на елементите.
Пример №3
Код:
x <- switch("color", "color" = "red", "shape" = "square")
x
изход:
Код:
x <- switch("coler", "color" = "red", "shape" = "square")
x
изход:
5. Ще получим грешка в резултат само когато има повече от едно изявление на случай с грешно изписване или този израз не е в списъка или липсва съответната стойност на изложението на случая.
Диаграма на състоянието на превключвателя в R
- Ако изразът = случай 1, се изпълнява ИЗЯВЛЕНИЕ 1.
- Ако изразът = случай 2, се изпълнява ИЗЯВЛЕНИЕ 2.
- Ако изразът = случай 3, се изпълнява ИЗЯВЛЕНИЕ 3.
- Ако случай 1, случай 2 и случай 3 се провалят, тогава се изпълнява декларацията по подразбиране.
Използвайте случаи на съобщение за превключване
Някои случаи, в които можем да използваме оператори за превключване.
Тип 1: Ако изражението е число
Код:
switch(2, "Ball", "Bat", "Wickets")
изход:
Код:
switch(3, "Ball", "Bat", "Wickets")
изход:
В горния пример имаме списък, който се състои от три елемента (Ball, Bat и Wickets), функцията за превключване на оператора ще върне съответния елемент на числовата стойност, която сме въвели като израз.
Тук трябва да следваме отблизо правилата, докато използваме оператор Switch, като основната и често срещана грешка е:
„Ако оценената стойност е число и числовата стойност е извън диапазона (Стойностите са по-големи от броя на елементите в списъка или по-малки от 1). Резултатът, върнат при нас, е „NULL“.
Код:
x <- switch(4, "Ball", "Bat", "Wickets")
x
изход:
Тип 2: Ако изразът е низ
Код:
switch("Wickets", "Ball" = "Red", "Bat" = "Rectangle", "Wickets" = "Out")
изход:
Диаграмата за примера изглежда така:
Тип 3: Mix n Match
Пример №1:
x= 1
y = 2
z = switch(x+y, "Hello Abhinav", "Hello Mayank", "Hello Naman", "Hello Hardik")
Тук сме присвоили някои стойности на x и y, след което добавяме израз в оператора на превключвателя като уравнение.
Значи х + у = 1 + 2 = 3.
Което означава, че 3 -та стойност в списъка ще дойде като изход. В нашия пример стойността 3 е „Здравей Наман“.
Код:
И кодът за горния пример изглежда така:
x= 1
y = 2
z = switch(x+y, "Hello Abhinav", "Hello Mayank", "Hello Naman", "Hello Hardik")
z
изход:
Пример №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")
Когато изпълним това в R, ще получим.
Код:
x= 1
y= 7
a = switch(paste(x, y, sep=""), "7"="Hello Abhinav", "12"="Hello Mayank", "17"="Hello Naman", "21"="Hello Hardik")
a
изход:
заключение
- Изявленията за превключване са по-лесни за четене.
- Изключенията за превключване са по-ефективни, ако го сравним с оператора If-Else.
- Извлеченията за превключване са лесни за поддържане и писане.
- С помощта на Switch Statement можем да направим таблица за скокове.
- Извлеченията за превключване ни помагат да направим голям код много удобен, много лесно е да проследим грешка в кода, ако има такава.
Въпреки че има някои ограничения също като превключвателните оператори не работят с поплавци и също така не работят с диапазони (освен ако не е упоменато изрично).
Препоръчителни статии
Това е ръководство за превключване на заявление в R. Тук обсъждаме правилата, схемата на потока и различните случаи на използване на извлеченията за превключване в R с примери. Можете също да разгледате следните статии, за да научите повече -
- Извлечение за превключване в C
- Превключване на изявление в C ++
- Превключване на изявление в JavaScript
- Изказване за превключване в Matlab
- Превключване на изявление в C #