Criar um mix de valores

Boa noite meu povo, tudo bem com vocês?

Estou aqui novamente porque preciso de ajuda!!!
Tenho os seguintes dados:

Num_proposta CPF Score
558746 547995652-54 125
879652 852114785-95 298
745895 258456328-84 701

Preciso criar uma tabela que classifique os scores em faixa tipo 0 -199, 200 - 299…
A tabela precisa ficar assim:

Num_proposta CPF Score Faixa_Score
558746 547995652-54 125 0 - 199
879652 852114785-95 298 200 - 299
745895 258456328-84 701 700 - 799

Toda vez que tiver um valor de score ele classifica dentro de uma faixa pré-estabelecida por mim.

Obrigado!!!

Boa noite, Renato!

Cara, entendi que você quer classificar os números. Se não forem muitas classes da pra realizar com um dplyr::case_when, ai você vai escrevendo quais são os "cortes "que deseja. Já se forem muitas classes, da pra usar a função cut que realiza isso automaticamente com base em uma sequência.

Para o primeiro caso vou usar a sua base de exemplo, já para o segundo vou deixar uma resposta da @beatrizmilz que explica de um jeito bem simples como usar, no seguinte link: Tabela de Distribuição de Frequência - dúvidas - Curso-R.

Segue exemplo da função da opção 1:

# obter dados
dataset <- tibble::tribble(
               ~Num_proposta,           ~CPF, ~Score,
                     558746L, "547995652-54",   125L,
                     879652L, "852114785-95",   298L,
                     745895L, "258456328-84",   701L
               ) |> 
    janitor::clean_names()


# checar estrutura
dataset |> dplyr::glimpse()
#> Rows: 3
#> Columns: 3
#> $ num_proposta <int> 558746, 879652, 745895
#> $ cpf          <chr> "547995652-54", "852114785-95", "258456328-84"
#> $ score        <int> 125, 298, 701

# realizar classificação
dataset_classificado <- dataset |> 
    # usar mutate para criar uma nova coluna
    dplyr::mutate(
        
        # usar case_when para classificar
        faixa_score = dplyr::case_when(
            
            # de 0 a 199
            score <= 199 ~ "0 - 199",
            
            # de 200 a 299
            score <= 299 ~ "200 - 299",
            
            # usando duas condições
            score >= 700 & score <= 799 ~ "700 - 799",
            
            # para todos os valores que não encaixarem nas classificações explícitas
            TRUE ~ "Outro"
            
        )
        
    )

dataset_classificado
#> # A tibble: 3 x 4
#>   num_proposta cpf          score faixa_score
#>          <int> <chr>        <int> <chr>      
#> 1       558746 547995652-54   125 0 - 199    
#> 2       879652 852114785-95   298 200 - 299  
#> 3       745895 258456328-84   701 700 - 799

Created on 2022-08-24 by the reprex package (v2.0.1)

Espero que ajude!
Abraços.

1 curtida