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
}

If Else Prohlášení

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!"

Pozor: Ujistěte se, že jste správně napsali odsazení. Kód s více podmínkami se může stát nečitelným, pokud nejsou odsazení 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