Olá pessoal,
Gostaria de reescrever o trecho de código abaixo da forma “tidy” porém não estou sabendo como fazê-lo. Quem puder ajudar ficarei muito agradecido!
library(dplyr)
#>
#> Attaching package: 'dplyr'
#> The following objects are masked from 'package:stats':
#>
#> filter, lag
#> The following objects are masked from 'package:base':
#>
#> intersect, setdiff, setequal, union
# Base de dados
base_dados <- structure(
list(cod_cliente = c(762L, 4908L, 5249L, 5277L, 5300L, 5639L),
risco_bvsp = c("Tratavel", "Baixo", "Medio", "Baixo", "Medio","Baixo"),
risco_bmf = c("Alto", NA, "Baixo", NA, NA, "Baixo"),
risco_cvm = c("Medio", "Baixo", NA, NA, "Alto", NA),
risco_transf = c("Baixo", NA, NA, "Tratavel", "Medio", NA),
risco_mud = c("Medio", "Baixo", NA, NA, "Alto", NA),
risco_cad = c("Baixo", "Tratavel", "Baixo", "Baixo", "Alto", "Baixo")),
row.names = c(NA, 6L),
class = "data.frame"
)
# Juntar todos os riscos
matriz_completa<- base_dados %>%
mutate(
riscos_juntos = paste(risco_bvsp, ";",
risco_bmf, ";",
risco_cvm, ";",
risco_transf,";",
risco_mud, ";",
risco_cad),
risco_final = NA
)
# OBS: O trecho abaixo é o que gostaria de reescrever de forma tidy
# Pegar o maior risco
matriz_completa$risco_final[grep("Tratavel", matriz_completa$riscos_juntos)]<- "Tratavel"
matriz_completa$risco_final[grep("Baixo", matriz_completa$riscos_juntos)]<- "Baixo"
matriz_completa$risco_final[grep("Medio", matriz_completa$riscos_juntos)]<- "Medio"
matriz_completa$risco_final[grep("Alto", matriz_completa$riscos_juntos)]<- "Alto"
Created on 2022-04-22 by the reprex package (v2.0.1)