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