La declaración if else
Una declaración if-else es una gran herramienta para el desarrollador que intenta devolver una salida basada en una condición. En R, la sintaxis es:
if (condition) {Expr1} else {Expr2}
Queremos examinar si una variable almacenada como "cantidad" está por encima de 20. Si la cantidad es mayor que 20, el código imprimirá "¡Vendiste mucho!" de lo contrario No es suficiente por hoy.
# Create vector quantityquantity <- 25# Set the is-else statementif (quantity > 20) {print('You sold a lot!')} else {print('Not enough for today')}
Producción:
## [1] "You sold a lot!"
Nota : asegúrese de escribir correctamente las sangrías. El código con múltiples condiciones puede volverse ilegible cuando las sangrías no están en la posición correcta.
La declaración else if
Podemos personalizar aún más el nivel de control con la instrucción else if. Con elif, puede agregar tantas condiciones como queramos. La sintaxis es:
if (condition1) {expr1} else if (condition2) {expr2} else if (condition3) {expr3} else {expr4}
Nos interesa saber si vendimos cantidades entre 20 y 30. Si lo hacemos, entonces la pinta media al día. Si la cantidad es> 30 imprimimos ¡Qué gran día !, de lo contrario No es suficiente por hoy.
Puede intentar cambiar la cantidad de cantidad.
# Create vector quantiyquantity <- 10# Create multiple condition statementif (quantity <20) {print('Not enough for today')} else if (quantity > 20 &quantity <= 30) {print('Average day')} else {print('What a great day!')}
Producción:
## [1] "Not enough for today"
Ejemplo 2:
El IVA tiene diferente tipo según el producto adquirido. Imagine que tenemos tres tipos diferentes de productos con diferente IVA aplicado:
Categorías | Productos | IVA |
---|---|---|
A | Libro, revista, periódico, etc ... | 8% |
B | Verduras, carnes, bebidas, etc… | 10% |
C | Camiseta, jean, pantalón, etc… | 20% |
Podemos escribir una cadena para aplicar la tasa de IVA correcta al producto que compró un cliente.
category <- 'A'price <- 10if (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)}
Producción:
# A vat rate of 8% is applied. The total price is 10.8