Вступ до заяви про переключення в 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 із прикладами. Ви також можете переглянути наступні статті, щоб дізнатися більше -
- Заява про перемикання в С
- Заява про переключення в C ++
- Переключення заяви на JavaScript
- Заява про переключення в Matlab
- Заява про переключення в C #