Instrução IF, ELSE, ELSE IF em R
A instrução if else
Uma instrução if-else é uma ótima ferramenta para o desenvolvedor que tenta retornar uma saída com base em uma condição. Em R, a sintaxe é:
if (condition) { Expr1 } else { Expr2 }
Queremos examinar se uma variável armazenada como “quantidade” está acima de 20. Se a quantidade for maior que 20, o código imprimirá “Você vendeu muito!” caso contrário, não é suficiente por hoje.
# Create vector quantity quantity <- 25 # Set the is-else statement if (quantity > 20) { print('You sold a lot!') } else { print('Not enough for today') }
Saída:
## [1] "You sold a lot!"
Note: Certifique-se de escrever corretamente os recuos. Código com múltiplas condições pode se tornar ilegível quando os recuos não estão na posição correta.
A instrução else if
Podemos personalizar ainda mais o nível de controle com a instrução else if. Com elif, você pode adicionar quantas condições quiser. A sintaxe é:
if (condition1) { expr1 } else if (condition2) { expr2 } else if (condition3) { expr3 } else { expr4 }
Estamos interessados em saber se vendemos quantidades entre 20 e 30. Se o fizermos, então o litro Média diária. Se a quantidade for > 30, imprimimos Que ótimo dia!, caso contrário Não é suficiente para hoje.
Você pode tentar alterar a quantidade.
# 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!') }
Saída:
## [1] "Not enough for today"
2 exemplo:
O IVA tem taxa diferente de acordo com o produto adquirido. Imagine que temos três tipos diferentes de produtos com diferentes IVAs aplicados:
Categorias | Produtos | NIF |
---|---|---|
A | Livro, revista, jornal, etc. | 8% |
B | Vegetais, carnes, bebidas, etc. | 10% |
C | Camiseta, jeans, calça, etc. | 20% |
Podemos escrever uma cadeia para aplicar a taxa correta de IVA ao produto que um cliente comprou.
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) }
Saída:
# A vat rate of 8% is applied. The total price is 10.8