Извлечение за превключване в R - Изчерпателно ръководство за превключване на изявление в R

Съдържание:

Anonim

Въведение в извлечението за превключване в 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 с примери. Можете също да разгледате следните статии, за да научите повече -

  1. Извлечение за превключване в C
  2. Превключване на изявление в C ++
  3. Превключване на изявление в JavaScript
  4. Изказване за превключване в Matlab
  5. Превключване на изявление в C #