Въведение в If изявление в R

Операторът „ако“ в R е условен оператор, който се използва за тестване на състояние (състояния) или генериране на изход, базиран на условие. Изразът if ако може да бъде последвано от множество ifs и накрая от оператора else. Тя работи последователно, като, ако условие тества положително, ако самото себе си, след това следва друго 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.
)

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

Ето споменатата по-долу диаграма на потока

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

Преминаването на различни числа в горната функция дава резултати, както е показано по-долу:

Пример №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 - ако проверява дали числото е равно на 1 и казва на потребителя, че 1 не е просто число; причината е дадена в предходния раздел. Ако нито едно от двете горепосочени условия не е изпълнено, тогава блокът с кодове в раздела else се изпълнява. В противен случай сега по същество се опитваме да проверим дали числото е първостепенно или не за цикъл.
  • Цикълът for разделя числото от 2 на число минус 1 диапазон от променливата прираст и в този диапазон, ако се раздели, знамето е настроено на нула, което означава, че числото не е просто число. Операторът if-else за цикъл тества състояние на флага и генерира подходящ изход.

Функцията работи и дава резултатите, както са показани на снимката по-долу.

заключение

В програмирането на R, операторът if-else или if-else if-else може да бъде ефективно използван за работа с аспекти, свързани със състоянието. R скриптът може да не улеснява прилагането на операторите if, ако предлагат други езици за програмиране. Въпреки това, ако-друго може да бъде красиво вградено във функции, за да се получат всички възможни резултати.

Препоръчителни статии

Това е ръководство за If Statement в R. Тук обсъждаме изявлението if-else или if-else if-else може да бъде ефективно използвано за работа с аспекти, свързани със състоянието. Може да разгледате и следните статии, за да научите повече -

  1. Какво е език за програмиране на R?
  2. R пакети
  3. R Типове данни
  4. Ако не друго изявление в C
  5. IF-Else Statement в Matlab

Категория: