Instrução IF, ELSE, ELSE IF em R

A instrução if else

Uma instrução if-else é uma ótima ferramenta para o desenvolvedor que tenta retornar uma saída com base em uma condição. Em R, a sintaxe é:

if (condition) {
    Expr1 
} else {
    Expr2
}

Declaração If Else

Queremos examinar se uma variável armazenada como “quantidade” está acima de 20. Se a quantidade for maior que 20, o código imprimirá “Você vendeu muito!” caso contrário, não é suficiente por hoje.

# Create vector quantity
quantity <-  25
# Set the is-else statement
if (quantity > 20) {
    print('You sold a lot!')
} else {
    print('Not enough for today')  
}

Saída:

## [1] "You sold a lot!"

Note: Certifique-se de escrever corretamente os recuos. Código com múltiplas condições pode se tornar ilegível quando os recuos não estão na posição correta.

A instrução else if

Podemos personalizar ainda mais o nível de controle com a instrução else if. Com elif, você pode adicionar quantas condições quiser. A sintaxe é:

if (condition1) { 
    expr1
    } else if (condition2) {
    expr2
    } else if  (condition3) {
    expr3
    } else {
    expr4
}

Estamos interessados ​​em saber se vendemos quantidades entre 20 e 30. Se o fizermos, então o litro Média diária. Se a quantidade for > 30, imprimimos Que ótimo dia!, caso contrário Não é suficiente para hoje.

Você pode tentar alterar a quantidade.

# 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!')
}

Saída:

## [1] "Not enough for today"

2 exemplo:

O IVA tem taxa diferente de acordo com o produto adquirido. Imagine que temos três tipos diferentes de produtos com diferentes IVAs aplicados:

Categorias Produtos NIF
A Livro, revista, jornal, etc. 8%
B Vegetais, carnes, bebidas, etc. 10%
C Camiseta, jeans, calça, etc. 20%

Podemos escrever uma cadeia para aplicar a taxa correta de IVA ao produto que um cliente comprou.

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)  
}

Saída:

# A vat rate of 8% is applied. The total price is 10.8