IF, ELSE, ELSE IF izjava u R
Izjava if else
Iskaz if-else odličan 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, kod će ispisati "Prodali ste puno!" inače Nije dovoljno za danas.
# Create vector quantity quantity <- 25 # Set the is-else statement if (quantity > 20) { print('You sold a lot!') } else { print('Not enough for today') }
Izlaz:
## [1] "You sold a lot!"
bilješke: Provjerite jeste li ispravno napisali udubljenja. Kod s više uvjeta može postati nečitljiv kada udubljenja nisu u ispravnom položaju.
Naredba else if
Kontrolnu razinu možemo dodatno prilagoditi naredbom else if. Pomoću 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 jesmo, tada je prosječna pinta dnevno. Ako je količina > 30 ispisujemo Kakav sjajan dan!, u suprotnom Nije dovoljno za danas.
Možete pokušati promijeniti količinu količine.
# 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!') }
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, traperice, hlače itd. | 20% |
Možemo napisati lanac za primjenu točne stope PDV-a na proizvod koji je kupac kupio.
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) }
Izlaz:
# A vat rate of 8% is applied. The total price is 10.8