IF, ELSE, ELSE IF Lauseke R:ssä
Jos muu -lause
If-else-lauseke on loistava työkalu kehittäjälle, joka yrittää palauttaa ehtoon perustuvan tulosteen. R:ssä syntaksi on:
if (condition) { Expr1 } else { Expr2 }
Haluamme selvittää, onko "määräksi" tallennettu muuttuja yli 20. Jos määrä on suurempi kuin 20, koodi tulostaa "Myyit paljon!" muuten ei riitä tälle päivälle.
# Create vector quantity quantity <- 25 # Set the is-else statement if (quantity > 20) { print('You sold a lot!') } else { print('Not enough for today') }
lähtö:
## [1] "You sold a lot!"
Huomautuksia: Varmista, että kirjoitat sisennykset oikein. Koodi, jossa on useita ehtoja, voi muuttua lukukelvottomaksi, jos sisennykset eivät ole oikeassa paikassa.
Muu if -lause
Voimme muokata ohjaustasoa edelleen else if -lauseella. elifillä voit lisätä niin monta ehtoa kuin haluat. Syntaksi on:
if (condition1) { expr1 } else if (condition2) { expr2 } else if (condition3) { expr3 } else { expr4 }
Olemme kiinnostuneita tietämään, myimmekö määriä välillä 20-30. Jos myymme, niin tuopin keskimääräinen päivä. Jos määrä on > 30 tulostamme Mikä hieno päivä!, muuten Ei riitä tälle päivälle.
Voit yrittää muuttaa määrän määrää.
# 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!') }
lähtö:
## [1] "Not enough for today"
Esimerkki 2:
ALV on erilainen ostetun tuotteen mukaan. Kuvittele, että meillä on kolme erilaista tuotetta, joihin sovelletaan erilaista arvonlisäveroa:
Kategoriat | Tuotteemme | arvonlisävero |
---|---|---|
A | Kirja, aikakauslehti, sanomalehti jne. | 8% |
B | Kasvikset, liha, juomat jne. | 10% |
C | T-paita, farkku, housut jne. | 20% |
Voimme kirjoittaa ketjun soveltaa oikeaa ALV-kantaa asiakkaan ostamaan tuotteeseen.
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) }
lähtö:
# A vat rate of 8% is applied. The total price is 10.8