IF, ELSE, ELSE IF avaldus R-is

Kui muidu väide

Kui-else avaldus on suurepärane tööriist arendajale, kes püüab tingimusel põhinevat väljundit tagastada. R-i süntaks on järgmine:

if (condition) {
    Expr1 
} else {
    Expr2
}

Kui muidu avaldus

Tahame uurida, kas "kogusena" salvestatud muutuja on suurem kui 20. Kui kogus on suurem kui 20, trükitakse koodile "Sa müüsid palju!" muidu ei piisa tänaseks.

# Create vector quantity
quantity <-  25
# Set the is-else statement
if (quantity > 20) {
    print('You sold a lot!')
} else {
    print('Not enough for today')  
}

Väljund:

## [1] "You sold a lot!"

märkused: Veenduge, et kirjutaksite taanded õigesti. Mitme tingimusega kood võib muutuda loetamatuks, kui taanded ei ole õiges kohas.

Muu if avaldus

Saame juhtimistaset veelgi kohandada muu if-lausega. Elifiga saate lisada nii palju tingimusi kui soovime. Süntaks on:

if (condition1) { 
    expr1
    } else if (condition2) {
    expr2
    } else if  (condition3) {
    expr3
    } else {
    expr4
}

Oleme huvitatud, kas müüsime koguseid 20-30. Kui müüme, siis pint Average day. Kui kogus on > 30 prindime Milline tore päev!, muidu Tänaseks ei piisa.

Võite proovida kogust muuta.

# 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!')
}

Väljund:

## [1] "Not enough for today"

Näide 2:

Käibemaksumäär on erinev, olenevalt ostetud tootest. Kujutage ette, et meil on kolme erinevat tüüpi toodet, millele kehtib erinev käibemaks:

Kategooriad Toodet VAT
A Raamat, ajakiri, ajaleht jne. 8%
B Köögiviljad, liha, joogid jne. 10%
C T-särk, teksa, püksid jne. 20%

Saame kirjutada ahela, et rakendada kliendi ostetud tootele õiget käibemaksumäära.

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)  
}

Väljund:

# A vat rate of 8% is applied. The total price is 10.8

Võta see postitus kokku järgmiselt: