Prezadxs, olá!
Estou com um problema e não consigo definir o regex exato apra resolvê-lo.
Preciso excluir todos os números percentuais em uma coluna, ou seja, tudo que é número seguido de “%”, como 12,8%
. Tentei algumas coisas mas o que consegui foi somente deletar todos os números ou somente o % e a vírgula.
Alguém poderia dar um help, por gentileza?
Segue exemplo:
# carregar pipe
library(magrittr, include.only = "%>%")
# base de exemplo
database <-
tibble::tribble(
~caracterstica, ~numeros,
"a", "85,50%",
"b", "12,80%",
"c", "369,7",
"d", "0,95%",
"e", "88,70%"
)
# eu apenas consigo deleetar o %, mas não o número junto
database %>%
dplyr::mutate(numeros = stringr::str_remove_all(numeros, ".%$"))
#> # A tibble: 5 x 2
#> caracterstica numeros
#> <chr> <chr>
#> 1 a 85,5
#> 2 b 12,8
#> 3 c 369,7
#> 4 d 0,9
#> 5 e 88,7
# consigo filtrar apenas eles, mas como eu deleto?
database %>%
dplyr::filter(stringr::str_detect(numeros, "%$"))
#> # A tibble: 4 x 2
#> caracterstica numeros
#> <chr> <chr>
#> 1 a 85,50%
#> 2 b 12,80%
#> 3 d 0,95%
#> 4 e 88,70%
Created on 2021-06-24 by the reprex package (v2.0.0)
Observação: Não posso apenas filtrar o que não tem “%” porque senão perco a info de outras colunas.
Agradeço qualquer ajuda!
Abraços.