IF, ELSE, ELSE IF Declarație în R
Declarația if else
O declarație if-else este un instrument excelent pentru dezvoltatorul care încearcă să returneze o ieșire bazată pe o condiție. În R, sintaxa este:
if (condition) { Expr1 } else { Expr2 }
Vrem să examinăm dacă o variabilă stocată ca „cantitate” este peste 20. Dacă cantitatea este mai mare de 20, codul va afișa „Ați vândut mult!” altfel Nu este suficient pentru azi.
# Create vector quantity quantity <- 25 # Set the is-else statement if (quantity > 20) { print('You sold a lot!') } else { print('Not enough for today') }
ieșire:
## [1] "You sold a lot!"
notițe: Asigurați-vă că scrieți corect indentările. Codul cu mai multe condiții poate deveni ilizibil atunci când indentările nu sunt în poziția corectă.
Afirmația else if
Putem personaliza în continuare nivelul de control cu declarația else if. Cu elif, puteți adăuga câte condiții vrem. Sintaxa este:
if (condition1) { expr1 } else if (condition2) { expr2 } else if (condition3) { expr3 } else { expr4 }
Suntem interesați să știm dacă am vândut cantități cuprinse între 20 și 30. Dacă o facem, atunci halba Ziua medie. Dacă cantitatea este > 30 tipărim Ce zi grozavă!, altfel Nu este suficient pentru astăzi.
Puteți încerca să modificați cantitatea.
# 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!') }
ieșire:
## [1] "Not enough for today"
Exemplu 2:
TVA are cota diferita in functie de produsul achizitionat. Imaginați-vă că avem trei tipuri diferite de produse cu TVA diferit aplicat:
Categorii | Produse | TVA |
---|---|---|
A | Carte, revistă, ziar etc. | 8% |
B | Legume, carne, băuturi etc. | 10% |
C | Tricou, blugi, pantaloni etc. | 20% |
Putem scrie un lanț pentru a aplica cota corectă de TVA produsului cumpărat de un client.
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) }
ieșire:
# A vat rate of 8% is applied. The total price is 10.8