Вступ до заяви про переключення в R

Розглянемо ситуацію, коли існує декілька варіантів у вигляді виразів, і ми повинні контролювати свій вихід таким чином, щоб він порівнював значення виразу та значення, наявні в списку, і відповідно передає висновок. Для цього ми можемо використовувати також заяви El Else, але існують деякі обмеження, наприклад, якщо твердження El Else не підходять, коли є багатостороннє розгалуження (кілька варіантів). Отже, тут ми можемо використовувати оператори Switch в r, які мають численні переваги, наприклад

  • Оператор перемикання може тестувати вирази на основі об'єкта String, значення List або одиничного цілого числа, в основному, простіше кажучи, ми можемо сказати, що оператори перемикання найкращі для фіксованих значень даних.
  • Заяви комутації краще для багатостороннього розгалуження.
  • Швидкість обробки коду швидка, коли ми використовуємо оператори переключення (це видно, коли є значна кількість випадків); загалом, якщо інше заяви вимагало часу, коли існує велика кількість справ.
  • Оператори переключення менш вразливі до помилок, оскільки вони набагато чистіші, коли нам доводиться комбінувати справи.

Визначення

Оператор перемикання порівняє значення виразу та значення, наявні в списку, і дасть нам найкращий вихід, який відповідає всім вимогам. Тепер ми побачимо деяку ілюстрацію, де ми можемо використовувати оператор switch.

Синтаксис:

Основний синтаксис R для операторів комутації виглядає так:

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

Тут код буде порівнювати значення виразу зі значеннями у списку, і найкраще співпадіння повернеться як результат, який відповідає кожній умові постановки проблеми.

Правила заяви про переключення

Правила, які застосовуються в заяві про переключення:

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). Тоді результат, який повернувся до нас, - "НУЛЬНИЙ".

Приклад №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). Результат, який повернувся до нас, - "НУЛЬНИЙ".

Код:

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 не працюють з floats, а також вони не працюють з діапазонами (якщо прямо не зазначено).

Рекомендовані статті

Це посібник з повідомлення про переключення в Р. Тут ми обговорюємо Правила, схему потоку та різні випадки використання Операторів комутації в R із прикладами. Ви також можете переглянути наступні статті, щоб дізнатися більше -

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

Категорія: