Вступ до заяви If в R

Оператор "якщо" в R - це умовне твердження, яке використовується для тестування стану (умов) або генерування результату на основі умов. За твердженням if в R може слідувати кілька інших ifs і, нарешті, оператор else. Він працює послідовно, як, наприклад, якщо умова перевіряє позитивну функцію if на сам, то наступний ifs та оператор else не виконується. Аналогічно, якщо хтось інший ifs виконує, то наступний інший, якщо оператори та оператор else не виконуються. Інше буде виконано лише в тому випадку, якщо попередній тест if і else ifs (якщо вони присутні) перевіряють негативним умовою.

Синтаксис

Синтаксис оператора if-else в R такий:

if (condition) (
statement_1 # This statement will execute if the condition is satisfied.
)
else (
statement_2 # This section will execute if the condition is not satisfied.
)

Синтаксис оператора if-else if-else в R такий:

if (condition_1) (
statement_block_1 # This block will execute if condition 1 is met.
)
else if (condition_2) (
statement_block_2 # This block will execute if condition 2 is met.
)
else (
statement_block_3 # This block will execute if none of the conditions is met.
)

Схема потоку

Ось наведена нижче схема потоку

Приклади, якщо заява в R

Розуміння, якщо твердження в R через приклади

Оператор if в R може використовуватися в різних ситуаціях, і він працює з різними типами даних. Ми спробуємо реалізувати його, щоб зрозуміти його працездатність від базових до найскладніших ситуацій. Давайте перейдемо до розуміння цього детальніше.

Приклад №1

У цьому прикладі ми перевіримо, чи число ділиться на 21 чи ні. Ми створимо функцію, яка тестує умову цього поділу за допомогою оператора if-else. Потім ми передамо число, яке потрібно перевірити, у функцію.

На наступному скріншоті показана функція в R, яка вбудовує if-else для перевірки тесту на роздільність для числа.

divide.function <- function(x) (
if (x %% 21 == 0)
(
print(“The number is divisible by 21”)
)
else (
print(“The number is not divisible by 21”)
)
)

У наведеному вище коді число, передане у функцію, спочатку буде підтверджено відповідно до умови в операторі if. Отже, якщо число при поділі 21 повертає нуль як залишок, тоді код у блоці буде надруковано, як інакше буде виконано інше.

Передача різних чисел у наведеній вище функції дає результати, як показано нижче:

Приклад №2

У другому прикладі ми поширимо цикл if-else на оператор if-else if-else. Тут ми маємо намір перевірити, чи число ділиться і на 7, і на 9, тільки на 7, але не на 9, просто на 9, але не на 7, або на жодне з двох чисел. Якщо будь-яка умова виконана, виконується відповідний блок коду. Може бути кілька інших заяв, якщо вони є. Як було сказано раніше, блок коду в іншому виконується лише тоді, коли жодна умова не виконується. Висновки виводу у відповідних блоках повинні правильно передати значення.

divide.function <- function(x) (
if (x %% 7 == 0 && x %% 9 == 0)
(
print("The number is divisible by both 7 and 9.")
)
else if (x %% 7 == 0) (
print("The number is divisible by 7 but not by 9.")
)
else if (x %% 9 == 0) (
print("The number is divisible by 9 but not by 7.")
)
else (
print("The number is divisible neither by 7 nor by 9.")
)
)

Передача різних чисел у функції, визначеній за допомогою наведеного вище коду, генерує вихід, як показано на знімку екрана нижче.

Передача різних чисел у визначеній користувачем функції divide.function () дає результат, як зазначено вище. Тут можливі чотири типи чисел; по-перше, ділиться на 7 і 9, такі як 63 і 126, по-друге, ділиться на 7, але не на 9, таких як 14 і 35, по-третє - ділиться на 9, але не на 7, таких як 18 і 36, і, нарешті, ділиться ні одним із двох цілих чисел, тобто 7 та 9. Кінцева умова є частиною оператора else, оскільки всі інші можливі умови перевіряються у попередньому if та else ifs.

Приклад №3

У цьому прикладі ми перевіримо, чи є число простим чи ні. Будь-яке число, яке ділиться лише на себе і одне, називається простим числом. Однак слід зазначити, що 1 не є простим числом, оскільки воно не задовольняє умові, щоб число було простим, тому що у випадку 1, як числа, так і 1, є однаковими. Далі, що робити, якщо користувач передає від'ємне число у функцію, щоб перевірити, чи є простим чи ні? Отже, всі перераховані вище умови повинні бути враховані під час реалізації функції. Подивимося, як виглядає функція під час її реалізації, як показано нижче.

primecheck.function <- function(x) (
flag <- 1
if (x <= 0)
(
print("Number must be greater than zero.")
)
else if (x == 1)
(
print("1 is not a prime number.")
)
else
(
for (i in 3:x-1)
(
if (x %% i == 0)
(
flag <- 0
)
)
if (flag == 0)
(
paste(x, "is not a prime number.")
)
else
(
paste(x, "is a prime number.")
)
)
)

  • На наведеному вище знімку екрана показана визначена користувачем функція primecheck.function () в R. Як видно, код використовує вкладений if-else для виконання завдання. Подивимося, як працює код. Функція primecheck.function () приймає лише один параметр. Спочатку змінну прапора встановлюють на 1. Потім починається розділ if-else if-else. Оператор if перевіряє, чи число більше нуля чи ні. Це дуже важлива умова і має бути першою умовою.
  • Якщо ні, то функція генерує відповідне повідомлення. Далі, else-if перевіряє, чи число дорівнює 1, і повідомляє користувачеві, що 1 не є простим числом; причина наведена в попередньому розділі. Якщо жодна з двох вищезазначених умов не виконується, виконується блок коду в розділі else. В іншому випадку зараз ми по суті намагаємося перевірити, чи є число простим чи не для циклу.
  • Цикл for ділить число від 2 до числа мінус 1 діапазоном за змінною збільшенням, і в цьому діапазоні, якщо він ділиться, прапор встановлюється на нуль, тобто число не є простим числом. Оператор if-else для циклу перевіряє стан прапора і генерує відповідний вихід.

Функція працює і дає результати, як показано на скріншоті нижче.

Висновок

У програмуванні R заява if-else або if-else if-else може бути ефективно використана для роботи з аспектами, що стосуються умов. Сценарій R може не полегшити реалізацію, якщо заяви так само, як і інші мови програмування. Однак if-else може бути красиво вбудований у функції, щоб отримати всі можливі результати.

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

Це посібник до If Statement в R. Тут ми обговорюємо, якщо твердження if-else або if-else if-else може бути ефективно використане для роботи з аспектами, пов'язаними з умовою. Ви також можете переглянути наступні статті, щоб дізнатися більше -

  1. Що таке мова програмування R?
  2. R пакети
  3. R Типи даних
  4. Заява про інше в С
  5. IF-Else Заява в Матлабі

Категорія: