L'istruzione if else
Un'istruzione if-else è un ottimo strumento per lo sviluppatore che cerca di restituire un output in base a una condizione. In R, la sintassi è:
if (condition) {Expr1} else {Expr2}
Vogliamo esaminare se una variabile memorizzata come "quantità" è superiore a 20. Se la quantità è maggiore di 20, il codice stamperà "Hai venduto molto!" altrimenti non abbastanza per oggi.
# Create vector quantityquantity <- 25# Set the is-else statementif (quantity > 20) {print('You sold a lot!')} else {print('Not enough for today')}
Produzione:
## [1] "You sold a lot!"
Nota : assicurati di scrivere correttamente i rientri. Il codice con più condizioni può diventare illeggibile quando i rientri non sono nella posizione corretta.
L'istruzione else if
Possiamo personalizzare ulteriormente il livello di controllo con l'istruzione else if. Con elif, puoi aggiungere tutte le condizioni che vogliamo. La sintassi è:
if (condition1) {expr1} else if (condition2) {expr2} else if (condition3) {expr3} else {expr4}
Ci interessa sapere se abbiamo venduto quantità comprese tra 20 e 30. Se lo facciamo, allora il giorno medio della pinta. Se la quantità è> 30 stampiamo Che bella giornata! Altrimenti non abbastanza per oggi.
Puoi provare a modificare la quantità di quantità.
# 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!')}
Produzione:
## [1] "Not enough for today"
Esempio 2:
L'IVA ha un'aliquota diversa a seconda del prodotto acquistato. Immagina di avere tre diversi tipi di prodotti con diversa IVA applicata:
Categorie | Prodotti | I.V.A. |
---|---|---|
UN | Libro, rivista, giornale, ecc ... | 8% |
B | Verdura, carne, bevande, ecc ... | 10% |
C | T-shirt, jeans, pantaloni, ecc ... | 20% |
Possiamo scrivere una catena per applicare l'aliquota IVA corretta al prodotto acquistato da 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)}
Produzione:
# A vat rate of 8% is applied. The total price is 10.8