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
}

Jos muuten lausunto

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