IF, ELSE, ELSE IF výpis v R
Prohlášení if else
Příkaz if-else je skvělý nástroj pro vývojáře, kteří se snaží vrátit výstup na základě podmínky. V R je syntaxe:
if (condition) {
Expr1
} else {
Expr2
}
Chceme prozkoumat, zda je proměnná uložená jako „množství“ vyšší než 20. Pokud je množství větší než 20, kód vypíše „Prodali jste hodně!“ jinak pro dnešek nestačí.
# 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ýstup:
## [1] "You sold a lot!"
HodnoceníUjistěte se, že správně napíšete odsazení. Code s více podmínkami se může stát nečitelným, pokud odsazení nejsou ve správné poloze.
Prohlášení else if
Úroveň ovládání můžeme dále upravit pomocí příkazu else if. S elif můžete přidat tolik podmínek, kolik chceme. Syntaxe je:
if (condition1) {
expr1
} else if (condition2) {
expr2
} else if (condition3) {
expr3
} else {
expr4
}
Zajímá nás, zda jsme prodali množství mezi 20 a 30. Pokud ano, pak půllitr Průměrný den. Pokud je množství > 30, vytiskneme Skvělý den!, jinak pro dnešek nestačí.
Můžete zkusit změnit množství množství.
# 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ýstup:
## [1] "Not enough for today"
Příklad 2:
DPH má odlišnou sazbu podle zakoupeného produktu. Představte si, že máme tři různé druhy produktů s různou DPH:
| Kategorie | Produkty | DPH |
|---|---|---|
| A | Kniha, časopis, noviny atd. | 8% |
| B | Zelenina, maso, nápoje atd. | 10% |
| C | Tričko, džíny, kalhoty atd.. | 20% |
Můžeme napsat řetězec, který uplatní správnou sazbu DPH na produkt, který si zákazník koupil.
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ýstup:
# A vat rate of 8% is applied. The total price is 10.8

