R Se... Senão


Condições e Declarações Se

R suporta as condições lógicas usuais da matemática:

Operator Name Example Try it
== Equal x == y
!= Not equal x != y
> Greater than x > y
< Less than x < y
>= Greater than or equal to x >= y
<= Less than or equal to x <= y

Essas condições podem ser usadas de várias maneiras, mais comumente em "instruções if" e loops.

Uma "instrução if" é escrita com a palavra- ifchave e é usada para especificar um bloco de código a ser executado se uma condição for TRUE:

Exemplo

a <- 33
b <- 200

if (b > a) {
  print("b is greater than a")
}

Neste exemplo, usamos duas variáveis, a e b , que são usadas como parte da instrução if para testar se b é maior que a . Como a é 33 , e b é 200 , sabemos que 200 é maior que 33, e então imprimimos na tela que "b é maior que a".

R usa chaves {} para definir o escopo no código.


Senão

A else ifpalavra-chave é a maneira de R dizer "se as condições anteriores não forem verdadeiras, tente esta condição":

Exemplo

a <- 33
b <- 33

if (b > a) {
  print("b is greater than a")
} else if (a == b) {
  print ("a and b are equal")
}

Neste exemplo aé igual a b, então a primeira condição não é verdadeira, mas a else ifcondição é verdadeira, então imprimimos na tela que "a e b são iguais".

Você pode usar quantas else ifdeclarações quiser no R.


Se mais

A palavra- elsechave captura qualquer coisa que não seja capturada pelas condições anteriores:

Exemplo

a <- 200
b <- 33

if (b > a) {
  print("b is greater than a")
} else if (a == b) {
  print("a and b are equal")
} else {
  print("a is greater than b")
}

Neste exemplo, a é maior que b , então a primeira condição não é verdadeira, também a condição else if não é verdadeira, então vamos para a condição else e imprimimos na tela que "a é maior que b".

Você também pode usar elsesem else if:

Exemplo

a <- 200
b <- 33

if (b > a) {
  print("b is greater than a")
} else {
  print("b is not greater than a")
}


Instruções If aninhadas

Você também pode ter ifinstruções dentro ifde instruções, isso é chamado de instruções aninhadas if .

Exemplo

x <- 41

if (x > 10) {
  print("Above ten")
  if (x > 20) {
    print("and also above 20!")
  } else {
    print("but not above 20.")
  }
} else {
  print("below 10.")
}

E

O símbolo & (e) é um operador lógico e é usado para combinar instruções condicionais:

Exemplo

Teste se a é maior que b, E se c é maior que a:

a <- 200
b <- 33
c <- 500

if (a > b & c > a){
  print("Both conditions are true")
}

OU

O |símbolo (ou) é um operador lógico e é usado para combinar declarações condicionais:

Exemplo

Teste se a é maior que b, ou se c é maior que a:

a <- 200
b <- 33
c <- 500

if (a > b | a > c){
  print("At least one of the conditions is true")
}