La declaración si otra
Una declaración es una gran herramienta para el desarrollador que desea restaurar la salida en función de la 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 «¡Vendiste mucho!» de lo contrario, hoy no es suficiente.
# Create vector quantity quantity <- 25 # Set the is-else statement if (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 las sangrías correctamente. El código con múltiples condiciones puede ser ilegible cuando las coronas no están en las condiciones correctas.
Lo siguiente si una declaración
Podemos personalizar aún más el nivel de control con la siguiente declaración si es una declaración. Con elif, puede agregar tantas condiciones como deseemos. La sintaxis es:
if (condition1) { expr1 } else if (condition2) { expr2 } else if (condition3) { expr3 } else { expr4 }
Nos interesa saber si vendemos cantidades entre 20 y 30. Si lo hacemos, entonces el día medio de pinta. Si la cantidad es> 30 imprimimos Great Day !, de lo contrario no es suficiente hoy.
Puede intentar cambiar el tamaño de la cantidad.
# 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!') }
Producción:
## [1] "Not enough for today"
Ejemplo 2:
El IVA tiene una tasa diferente según el producto adquirido. Imagina que tenemos tres tipos diferentes de productos con diferente IVA aplicado:
Categorias | Productos | IVA |
---|---|---|
UNA. | 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 ha comprado un cliente.
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) }
Producción:
# A vat rate of 8% is applied. The total price is 10.8