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