Введение в оператор If в R

Оператор «if» в R является условным оператором, который используется для проверки условия (условий) или генерирования вывода на основе условия. За оператором if в R может следовать несколько других if, и, наконец, оператор else. Это работает последовательно, например, если условие дает положительный результат на if, тогда последующие if if и оператор else не будут выполнены. Точно так же, если любой из if if выполняется, то последующие операторы if if и else не будут выполнены. Оператор else будет выполняться только в том случае, если предшествующее условие if и else if (если они присутствуют) будет отрицательным по условию.

Синтаксис

Синтаксис оператора 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.
)

Диаграмма потока

Вот схема потока, упомянутая ниже

Примеры оператора If в 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 возвращает ноль в качестве остатка, тогда код в блоке if будет напечатан как вывод, иначе будет выполнено другое.

Передача различных чисел в вышеуказанной функции дает результаты, как показано ниже:

Пример № 2

Во втором примере мы расширим цикл if-else до оператора if-else if-else. Здесь мы намереваемся проверить, делится ли число на 7 и 9, просто на 7, но не на 9, просто на 9, но не на 7, или ни на одно из двух чисел. Если какое-либо условие выполнено, будет выполнен соответствующий кодовый блок. Может быть несколько операторов else-if. Как упоминалось ранее, блок кода в else выполняется только тогда, когда не выполняется ни одно условие. Выходные операторы в соответствующих блоках должны правильно передавать смысл.

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.")
)
)

Передача различных чисел в функции, определенной с помощью приведенного выше кода, приводит к выводу, как показано на скриншоте ниже.

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

Пример № 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 () принимает только один параметр. Первоначально переменная flag установлена ​​в 1. Затем начинается раздел if-else if-else. Оператор if проверяет, является ли число больше нуля или нет. Это очень важное условие, и оно должно быть первым.
  • Если нет, то соответствующее сообщение генерируется функцией. Затем else-if проверяет, равно ли число 1, и сообщает пользователю, что 1 не является простым числом; причина была приведена в предыдущем разделе. Если ни одно из двух приведенных выше условий не выполняется, выполняется блок кода в разделе else. В остальном, теперь, по сути, мы пытаемся проверить, является ли число простым или нет сквозным циклом for.
  • Цикл for делит число от 2 до числа минус 1 диапазон на переменную инкремента, и в этом диапазоне, если он делится, флаг устанавливается в ноль, что означает, что число не является простым числом. Оператор if-else вне цикла проверяет условие на флаге и генерирует соответствующий вывод.

Функция работает и выдает результаты, как показано на скриншоте ниже.

Вывод

В R-программировании оператор if-else или if-else if-else может быть эффективно использован для работы с условиями, связанными с условиями. Сценарий R может не облегчать реализацию операторов if так же, как предлагают другие языки программирования. Однако if-else может быть красиво встроен в функции для получения всех возможных результатов.

Рекомендуемые статьи

Это руководство к оператору If в R. Здесь мы обсудим оператор if-else или if-else if-else, который можно эффективно использовать для работы с условиями, связанными с условием. Вы также можете взглянуть на следующие статьи, чтобы узнать больше -

  1. Что такое язык программирования R?
  2. R пакеты
  3. Типы данных R
  4. Оператор if-else в C
  5. IF-Else Заявление в Matlab