Izjava if else
Izjava if-else izvrstan je alat za programera koji pokušava vratiti izlaz na temelju uvjeta. U R, sintaksa je:
if (condition) {Expr1} else {Expr2}
Želimo ispitati je li varijabla pohranjena kao "količina" iznad 20. Ako je količina veća od 20, kôd će ispisati "Mnogo ste prodali!" inače Nedovoljno za danas.
# Create vector quantityquantity <- 25# Set the is-else statementif (quantity > 20) {print('You sold a lot!')} else {print('Not enough for today')}
Izlaz:
## [1] "You sold a lot!"
Napomena : Provjerite jeste li pravilno napisali udubljenja. Kôd s više uvjeta može postati nečitljiv kada udubljenja nisu u ispravnom položaju.
Izjava else if
Kontrolnu razinu možemo dalje prilagoditi naredbom else if. Uz elif možete dodati onoliko uvjeta koliko želimo. Sintaksa je:
if (condition1) {expr1} else if (condition2) {expr2} else if (condition3) {expr3} else {expr4}
Zanima nas jesmo li prodali količine između 20 i 30. Ako to učinimo, onda pint Prosječni dan. Ako je količina> 30, ispisujemo Kakav sjajan dan! Inače Nedovoljno za danas.
Možete pokušati promijeniti količinu količine.
# 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!')}
Izlaz:
## [1] "Not enough for today"
Primjer 2:
PDV ima različitu stopu ovisno o kupljenom proizvodu. Zamislite da imamo tri različite vrste proizvoda s različitim PDV-om:
Kategorije | Proizvodi | PDV |
---|---|---|
A | Knjiga, časopis, novine itd ... | 8% |
B | Povrće, meso, piće, itd ... | 10% |
C | Majica, traperica, hlače, itd ... | 20% |
Možemo napisati lanac kako bismo primijenili ispravnu stopu PDV-a na proizvod koji je kupac kupio.
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)}
Izlaz:
# A vat rate of 8% is applied. The total price is 10.8