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
}

Hvis andet erklæring

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