IF, ELSE, ELSE IF оператор в R

Инструкцията if else

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

if (condition) {
    Expr1 
} else {
    Expr2
}

Изявление If Else

Искаме да проверим дали променлива, съхранена като „количество“, е над 20. Ако количеството е по-голямо от 20, кодът ще отпечата „Продадохте много!“ иначе не е достатъчно за днес.

# Create vector quantity
quantity <-  25
# Set the is-else statement
if (quantity > 20) {
    print('You sold a lot!')
} else {
    print('Not enough for today')  
}

Изход:

## [1] "You sold a lot!"

Забележка: Уверете се, че сте написали правилно вдлъбнатините. Кодът с множество условия може да стане нечетлив, когато вдлъбнатините не са в правилна позиция.

Изявлението else if

Можем допълнително да персонализираме контролното ниво с оператора else if. С elif можете да добавите толкова условия, колкото искаме. Синтаксисът е:

if (condition1) { 
    expr1
    } else if (condition2) {
    expr2
    } else if  (condition3) {
    expr3
    } else {
    expr4
}

Интересуваме се да разберем дали сме продали количества между 20 и 30. Ако го направим, тогава пинта Среден ден. Ако количеството е > 30, ние отпечатваме Какъв страхотен ден!, в противен случай Не е достатъчно за днес.

Можете да опитате да промените количеството.

# Create vector quantiy
quantity <-  10
# Create multiple condition statement
if (quantity <20) {
      print('Not enough for today')
} else if (quantity > 20  &quantity <= 30) {
     print('Average day')
} else {
      print('What a great day!')
}

Изход:

## [1] "Not enough for today"

Пример 2:

ДДС има различна ставка в зависимост от закупения продукт. Представете си, че имаме три различни вида продукти с различен приложен ДДС:

Категории Продукти ДДС
A Книга, списание, вестник и др. 8%
B Зеленчуци, месо, напитки и др. 10%
C Тениска, дънки, панталон и др. 20%

Можем да напишем верига, за да приложим правилната ставка на ДДС към продукта, закупен от клиента.

category <- 'A'
price <- 10
if (category =='A'){
  cat('A vat rate of 8% is applied.','The total price is',price *1.08)  
} else if (category =='B'){
    cat('A vat rate of 10% is applied.','The total price is',price *1.10)  
} else {
    cat('A vat rate of 20% is applied.','The total price is',price *1.20)  
}

Изход:

# A vat rate of 8% is applied. The total price is 10.8