Pular para o conteúdo principal

Função IF ELSE em R

Aprenda em detalhes sobre a função ifelse(), incluindo a sintaxe, como verificar se um número é ímpar ou par e, por fim, um exemplo para ver se um aluno foi aprovado ou reprovado na prova.
· 4 min leer

Explore com IA

banner

A função 'ifelse()' é a forma alternativa e abreviada do comando if-else em R. Além disso, ela é vetorizada, o que deixa a operação mais rápida. Em vez de avaliar cada valor individualmente várias vezes, todos os valores do vetor são passados de uma só vez como argumento.

Sintaxe

A sintaxe da função 'ifelse()' em R é:
ifelse(expressão_lógica, a, b)

Os argumentos em 'ifelse' significam:
1. expressão_lógica: Indica um vetor de entrada e retorna um vetor de saída do mesmo tamanho.
2. a: Executa quando a expressão_lógica é TRUE.
3. b: Executa quando a expressão_lógica é FALSE.

Exemplo (ímpar ou par)

Veja rapidamente o exemplo abaixo, em que o código confere se os números são ímpares ou pares. 'v' é o vetor com a lista de números. Na função 'ifelse', a expressão 'v%%2==1' verifica se o resto da divisão de cada número em 'v' por 2 é igual a um; quando for TRUE, imprime "odd"; caso contrário, quando for FALSE, imprime "even".

v = c(14,7,6,9,2)
ifelse(v %% 2 == 1,"odd","even")
  1. 'even'
  2. 'odd'
  3. 'even'
  4. 'odd'
  5. 'even'

O código acima produz a saída:
'even' 'odd' 'even' 'odd' 'even'
Internamente, ele gera um vetor lógico c(FALSE, TRUE, FALSE, TRUE, FALSE). O primeiro parâmetro forma um vetor de strings c("odd","odd","odd","odd","odd") e o segundo parâmetro produz o vetor c("even","even","even","even","even"). Por fim, onde o elemento lógico for TRUE, o valor passa a ser 'odd'; onde for FALSE, passa a ser 'even'.

Exemplo (aprovado ou reprovado)

O exemplo abaixo demonstra o uso da função 'ifelse()' junto com um DataFrame. Se o aluno tirar nota acima de 40, ele/ela é considerado(a) 'Pass'; caso contrário, 'Fail' no exame.

Vamos criar rapidamente um Data Frame com uma coluna "Student" contendo o vetor ("Ron", "Jake", "Ava", "Sophia", "Mia"). A outra coluna é "Marks", com o vetor (35,75,45,30,85). Por fim, as duas colunas são combinadas para formar um data frame armazenado em 'x'.

x <- data.frame("Student" = c("Ron","Jake","Ava","Sophia","Mia"),"Marks" = c(35,75,45,30,85))
str(x)
'data.frame':    5 obs. of  2 variables:
 $ Student: Factor w/ 5 levels "Ava","Jake","Mia",..: 4 2 1 5 3
 $ Marks  : num  35 75 45 30 85
'data.frame':    5 obs. of  2 variables:
 $ Student: Factor w/ 5 levels "Ava","Jake","Mia",..: 4 2 1 5 3
 $ Marks  : num  35 75 45 30 85

O código acima mostra a estrutura de um Data Frame usando 'str(x)'. Ele indica que há 5 observações com 2 variáveis, exibindo os valores correspondentes de Student e Marks.

x$Result = ifelse(x$"Marks">40,"Pass","Fail")
print(x)

O código acima gera a seguinte saída:

    Student Marks Result
1    Ron    35   Fail
2   Jake    75   Pass
3    Ava    45   Pass
4 Sophia    30   Fail
5    Mia    85   Pass 

No código acima, 'x$Result' é a variável usada para adicionar a nova coluna 'Result' ao Data Frame. A função 'ifelse()' usa a expressão 'x$"Marks">40', que verifica os valores do vetor Marks e define 'Result' como 'Pass' quando Marks é maior que 40; caso contrário, 'Result' é 'Fail'.

Parabéns

Parabéns, você chegou ao fim deste tutorial!

Você aprendeu sobre a função ifelse() do R, sua sintaxe, como ela ajuda a identificar se um número é ímpar ou par e, por fim, viu um exemplo para verificar se um aluno foi aprovado ou reprovado em um exame.

Se quiser aprender mais sobre R, você encontra todos os nossos recursos de R aqui.

Confira também nosso tutorial Using Functions in R.

Temas

Relacionado

Tutorial

Tutorial de regressão logística no R