Om if annars uttalandet
Ett if-else-uttalande är ett utmärkt verktyg för utvecklaren som försöker returnera en output baserat på ett villkor. I R är syntaxen:
if (condition) {Expr1} else {Expr2}
Vi vill undersöka om en variabel som är 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 quantityquantity <- 25# Set the is-else statementif (quantity > 20) {print('You sold a lot!')} else {print('Not enough for today')}
Produktion:
## [1] "You sold a lot!"
Obs! Se till att du skriver in fördjupningarna korrekt. Kod med flera villkor kan bli oläslig när fördjupningarna inte är i rätt läge.
Det andra if-uttalandet
Vi kan ytterligare anpassa kontrollnivån med det andra if-uttalandet. Med elif kan du lägga till så många villkor som vi vill. Syntaksen ä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å är pinten genomsnittlig dag. Om kvantiteten är> 30 skriver vi ut Vilken bra dag! Annars räcker det inte för idag.
Du kan försöka ändra kvantiteten.
# Create vector quantiyquantity <- 10# Create multiple condition statementif (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 skattesatser beroende på den köpta produkten. Tänk dig att vi har tre olika typer av produkter med olika moms:
Kategorier | Produkter | MOMS |
---|---|---|
A | Bok, tidskrift, tidning, etc ... | 8% |
B | Grönsaker, kött, dryck osv ... | 10% |
C | T-shirt, jean, byxa, etc ... | 20% |
Vi kan skriva en kedja för att tillämpa rätt momssats på den produkt en kund köpte.
category <- 'A'price <- 10if (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