IF, ELSE, ELSE IF оператор в R
Инструкцията if else
Инструкцията if-else е чудесен инструмент за разработчика, който се опитва да върне резултат въз основа на условие. В R синтаксисът е:
if (condition) { Expr1 } else { Expr2 }
Искаме да проверим дали променлива, съхранена като „количество“, е над 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