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
}

If Else izjava

Ž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