IF, ELSE, ELSE IF Declaración en R
La declaración si no
Una declaración if-else es una gran herramienta para el desarrollador que intenta devolver un resultado basado en una condición. En R, la sintaxis es:
if (condition) { Expr1 } else { Expr2 }
Queremos examinar si una variable almacenada como “cantidad” es mayor que 20. Si la cantidad es mayor que 20, el código imprimirá “¡Vendiste mucho!”; de lo contrario, no es suficiente para hoy.
# Create vector quantity quantity <- 25 # Set the is-else statement if (quantity > 20) { print('You sold a lot!') } else { print('Not enough for today') }
Salida:
## [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 declaración else if. Con elif, podemos 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 es así, entonces la pinta Día promedio. Si la cantidad es > 30 imprimimos ¡Qué gran día!, en caso contrario No hay suficiente para hoy.
Puedes intentar cambiar la cantidad de 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!') }
Salida:
## [1] "Not enough for today"
Ejemplo 2:
El IVA tiene diferente tipo según el producto adquirido. Imaginemos que tenemos tres tipos diferentes de productos a los que se les aplica un IVA diferente:
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 el tipo de IVA correcto al producto que compró 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) }
Salida:
# A vat rate of 8% is applied. The total price is 10.8