Como escrever uma instrução if else aninhada em r (com exemplos)
A função ifelse() na base R pode ser usada para escrever instruções if-else rápidas. Esta função usa a seguinte sintaxe:
ifelse(teste, sim, não)
Ouro:
- teste: um teste lógico
- sim: o valor a ser retornado se o teste lógico for True
- não: o valor a ser retornado se o teste lógico for falso
Este tutorial explica como usar esta função para escrever instruções if else, bem como instruções if else aninhadas em R, usando o seguinte quadro de dados:
#create data frame df <- data.frame(team = c('A', 'A', 'B', 'B', 'B', 'C', 'D'), points = c(4, 7, 8, 8, 8, 9, 12), rebounds = c(3, 3, 4, 4, 6, 7, 7)) #view data frame df team points rebounds 1 to 4 3 2 to 7 3 3 B 8 4 4 B 8 4 5 B 8 6 6 C 9 7 7 D 12 7
Exemplo 1: Como escrever uma instrução If Else básica
O código a seguir mostra como criar uma nova coluna no data frame cujo valor é baseado no valor da coluna “team”:
#create new column in data frame df$rating <- ifelse (df$team == ' A ', ' great ', ' bad ') #view data frame df team points rebounds rating 1 A 4 3 great 2 A 7 3 great 3 B 8 4 bad 4 B 8 4 bad 5 B 8 6 bad 6 C 9 7 bad 7 D 12 7 bad
Esta simples instrução ifelse diz ao R para fazer o seguinte:
- Se o valor na coluna da equipe for “A”, dê ao jogador uma classificação de “excelente”.
- Caso contrário, sentirá falta do jogador “pobre”.
Exemplo 2: Como escrever uma instrução If Else aninhada
O código a seguir mostra como criar uma nova coluna no quadro de dados escrevendo uma instrução if else aninhada:
#create new column in data frame df$rating <- ifelse (df$team == ' A ', ' great ', ifelse (df$team == ' B ', ' OK ', ' bad ')) #view data frame df team points rebounds rating 1 A 4 3 great 2 A 7 3 great 3 B 8 4 OK 4 B 8 4 OK 5 B 8 6 OK 6 C 9 7 bad 7 D 12 7 bad
Esta instrução ifelse aninhada diz ao R para fazer o seguinte:
- Se o valor na coluna da equipe for “A”, dê ao jogador uma classificação de “excelente”.
- Caso contrário, se o valor na coluna da equipe for “B”, dê ao jogador uma classificação de “OK”.
- Caso contrário, sentirá falta do jogador “pobre”.
Exemplo 3: Como escrever instruções If Else aninhadas mais longas
O código a seguir mostra como criar uma nova coluna no quadro de dados escrevendo uma instrução if else aninhada ainda mais longa:
#create new column in data frame df$rating <- ifelse (df$team == ' A ', ' great ', ifelse (df$team == ' B ', ' OK ', ifelse (df$team == ' C ', ' decent ', ' bad '))) #view data frame df team points rebounds rating 1 A 4 3 great 2 A 7 3 great 3 B 8 4 OK 4 B 8 4 OK 5 B 8 6 OK 6 C 9 7 decent 7 D 12 7 bad
Esta instrução ifelse aninhada diz ao R para fazer o seguinte:
- Se o valor na coluna da equipe for “A”, dê ao jogador uma classificação de “excelente”.
- Caso contrário, se o valor na coluna da equipe for “B”, dê ao jogador uma classificação de “OK”.
- Caso contrário, se o valor na coluna do time for “C”, dê ao jogador uma classificação “Decente”.
- Caso contrário, sentirá falta do jogador “pobre”.
Observe que você pode usar esse padrão exato para escrever instruções ifelse aninhadas pelo tempo que desejar.
Você pode encontrar mais tutoriais de R aqui .