IF, ELSE, ELSE IF nyilatkozat R-ben

Az if else kijelentés

Az if-else utasítás nagyszerű eszköz a fejlesztő számára, aki egy feltétel alapján próbál eredményt visszaadni. Az R-ben a szintaxis a következő:

if (condition) {
    Expr1 
} else {
    Expr2
}

Ha Más Nyilatkozat

Meg akarjuk vizsgálni, hogy egy „mennyiségként” tárolt változó 20 felett van-e. Ha a mennyiség nagyobb, mint 20, akkor a kód kiírja, hogy „Sokat eladtál!” különben nem elég mára.

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

output:

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

Megjegyzések: Ügyeljen arra, hogy helyesen írja be a behúzásokat. A több feltételt tartalmazó kód olvashatatlanná válhat, ha a behúzások nem a megfelelő helyen vannak.

Az else if kijelentés

Tovább testreszabhatjuk a vezérlési szintet az else if utasítással. Az elif segítségével annyi feltételt adhat hozzá, amennyit csak akarunk. A szintaxis a következő:

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

Érdeklődünk, hogy 20-30 közötti mennyiséget adtunk-e el. Ha igen, akkor a pint Átlagos nap. Ha a mennyiség > 30 nyomtatunk Milyen jó nap!, egyébként nem elég mára.

Megpróbálhatja módosítani a mennyiséget.

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

output:

## [1] "Not enough for today"

Példa 2:

Az ÁFA mértéke a vásárolt terméktől függően eltérő. Képzeld el, hogy három különböző típusú termékünk van, különböző áfával:

Kategóriák Termékek Áfa
A Könyv, magazin, újság stb. 8%
B Zöldség, hús, ital stb. 10%
C Póló, farmer, nadrág stb. 20%

Írhatunk egy láncot, hogy a vásárló által vásárolt termékre a helyes áfakulcsot alkalmazzuk.

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

output:

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