Como escrever uma declaração de caso em r (com exemplo)
Uma instrução case é um tipo de instrução que percorre as condições e retorna um valor quando a primeira condição é atendida.
A maneira mais fácil de implementar uma instrução case em R é usar a função case_when() do pacote dplyr :
library (dplyr) df %>% mutate(new_column = case_when( col1 < 9 ~ ' value1 ', col1 < 12 ~ ' value2 ', col1 < 15 ~ ' value3 ', TRUE ~ ' Great '))
Esta função específica analisa o valor na coluna chamada col1 e retorna:
- “ valor1 ” se o valor em col1 for menor que 9
- “ valor2 ” se o valor em col1 for menor que 12
- “ valor3 ” se o valor em col2 for menor que 15
- “ valor4 ” se nenhuma das condições anteriores for verdadeira
Observe que TRUE é equivalente a uma instrução “else”.
O exemplo a seguir mostra como usar esta função na prática.
Exemplo: declaração de caso em R
Suponha que temos o seguinte quadro de dados em R:
#create data frame df <- data. frame (player=c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), points=c(6, 8, 9, 9, 12, 14, 15, 17, 19, 22)) #view data frame df player points 1 1 6 2 2 8 3 3 9 4 4 9 5 5 12 6 6 14 7 7 15 8 8 17 9 9 19 10 10 22
Podemos usar a seguinte sintaxe para escrever uma instrução case que cria uma nova coluna chamada classe cujos valores são determinados pelos valores na coluna de pontos :
library (dplyr) #create new column using case statement df %>% mutate(class = case_when( points < 9 ~ ' Bad ', points < 12 ~ ' OK ', points < 15 ~ ' Good ', TRUE ~ ' Great ')) player points class 1 1 6 Bad 2 2 8 Bad 3 3 9 OK 4 4 9 OK 5 5 12 Good 6 6 14 Good 7 7 15 Great 8 8 17 Great 9 9 19 Great 10 10 22 Great
A instrução case analisou o valor na coluna de pontos e retornou:
- “ Ruim ” se o valor na coluna de pontos for menor que 9
- “ OK ” se o valor na coluna de pontos for menor que 12
- “ Bom ” se o valor na coluna de pontos for inferior a 15
- “ Ótimo ” se nenhuma das condições anteriores for verdadeira
A nova coluna é chamada class , pois esse é o nome que especificamos na função mutate() .
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras tarefas comuns em R:
Como usar a instrução If com múltiplas condições em R
Como escrever uma instrução If Else aninhada em R
Como escrever sua primeira função tryCatch() em R