IF, ELSE, ELSE IF avaldus R-is
Kui muidu väide
Kui-else avaldus on suurepärane tööriist arendajale, kes püüab tingimusel põhinevat väljundit tagastada. R-i süntaks on järgmine:
if (condition) {
Expr1
} else {
Expr2
}
Tahame uurida, kas "kogusena" salvestatud muutuja on suurem kui 20. Kui kogus on suurem kui 20, trükitakse koodile "Sa müüsid palju!" muidu ei piisa tänaseks.
# 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äljund:
## [1] "You sold a lot!"
märkused: Veenduge, et kirjutaksite taanded õigesti. Mitme tingimusega kood võib muutuda loetamatuks, kui taanded ei ole õiges kohas.
Muu if avaldus
Saame juhtimistaset veelgi kohandada muu if-lausega. Elifiga saate lisada nii palju tingimusi kui soovime. Süntaks on:
if (condition1) {
expr1
} else if (condition2) {
expr2
} else if (condition3) {
expr3
} else {
expr4
}
Oleme huvitatud, kas müüsime koguseid 20-30. Kui müüme, siis pint Average day. Kui kogus on > 30 prindime Milline tore päev!, muidu Tänaseks ei piisa.
Võite proovida kogust muuta.
# 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äljund:
## [1] "Not enough for today"
Näide 2:
Käibemaksumäär on erinev, olenevalt ostetud tootest. Kujutage ette, et meil on kolme erinevat tüüpi toodet, millele kehtib erinev käibemaks:
| Kategooriad | Toodet | VAT |
|---|---|---|
| A | Raamat, ajakiri, ajaleht jne. | 8% |
| B | Köögiviljad, liha, joogid jne. | 10% |
| C | T-särk, teksa, püksid jne. | 20% |
Saame kirjutada ahela, et rakendada kliendi ostetud tootele õiget käibemaksumäära.
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äljund:
# A vat rate of 8% is applied. The total price is 10.8

