IF, ELSE, ELSE IF uttalande i R

If else-påståendet

En if-else-sats är ett utmärkt verktyg för utvecklaren som försöker returnera en utdata baserat på ett villkor. I R är syntaxen:

if (condition) {
    Expr1 
} else {
    Expr2
}

Om annat uttalande

Vi vill undersöka om en variabel lagrad som "kvantitet" är över 20. Om kvantiteten är större än 20 kommer koden att skriva ut "Du sålde mycket!" annars inte tillräckligt för idag.

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

Produktion:

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

Anmärkningar: Se till att du skriver indragen korrekt. Kod med flera villkor kan bli oläslig när fördjupningarna inte är i rätt position.

Det andra om uttalande

Vi kan ytterligare anpassa kontrollnivån med else if-satsen. Med elif kan du lägga till hur många villkor vi vill. Syntaxen är:

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

Vi är intresserade av att veta om vi sålde kvantiteter mellan 20 och 30. Om vi ​​gör det, då halvliter Genomsnittlig dag. Om mängden är > 30 trycker vi vilken bra dag!, annars räcker det inte för idag.

Du kan försöka ändra mängden.

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

Produktion:

## [1] "Not enough for today"

Exempel 2:

Moms har olika sats beroende på den köpta produkten. Föreställ dig att vi har tre olika typer av produkter med olika moms:

Kategorier Produkter MOMS
A Bok, tidning, tidning etc. 8%
B Grönsaker, kött, dryck etc. 10%
C T-shirt, jeans, byxor, etc. 20%

Vi kan skriva en kedja för att tillämpa rätt momssats på produkten som en kund köpt.

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

Produktion:

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