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:
ПДВ має різну ставку залежно від придбаного товару. Уявіть, що у нас є три різні види продуктів із різними ПДВ:
Категорії | Продукти- TJNE | ПДВ |
---|---|---|
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