IF, ELSE, ELSE IF erklæring i R
If else-erklæringen
En if-else-sætning er et fantastisk værktøj for udvikleren, der forsøger at returnere et output baseret på en betingelse. I R er syntaksen:
if (condition) { Expr1 } else { Expr2 }
Vi ønsker at undersøge, om en variabel gemt som "mængde" er over 20. Hvis mængden er større end 20, vil koden udskrive "Du har solgt meget!" ellers ikke nok for i dag.
# Create vector quantity quantity <- 25 # Set the is-else statement if (quantity > 20) { print('You sold a lot!') } else { print('Not enough for today') }
Output:
## [1] "You sold a lot!"
Bemærk: Sørg for at skrive fordybningerne korrekt. Kode med flere betingelser kan blive ulæselig, når fordybningerne ikke er i korrekt position.
Den anden hvis erklæring
Vi kan yderligere tilpasse kontrolniveauet med else if-sætningen. Med elif kan du tilføje så mange betingelser, som vi ønsker. Syntaksen er:
if (condition1) { expr1 } else if (condition2) { expr2 } else if (condition3) { expr3 } else { expr4 }
Vi er interesserede i at vide, om vi solgte mængder mellem 20 og 30. Hvis vi gør det, så er det halvliters gennemsnitsdag. Hvis mængden er > 30, udskriver vi Sikke en god dag!, ellers ikke nok for i dag.
Du kan prøve at ændre 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!') }
Output:
## [1] "Not enough for today"
Eksempel 2:
Moms har forskellige satser i henhold til det købte produkt. Forestil dig, at vi har tre forskellige slags produkter med forskellig moms:
Kategorier | Produkter | Moms |
---|---|---|
A | Bog, magasin, avis osv. | 8% |
B | Grøntsager, kød, drikkevarer osv. | 10 % |
C | T-shirt, jeans, bukser osv.. | 20 % |
Vi kan skrive en kæde for at anvende den korrekte momssats på det produkt, en kunde har købt.
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) }
Output:
# A vat rate of 8% is applied. The total price is 10.8