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