Caros, bom dia!
Estou tentando comverter uma coluna de numeros que estáem formato de texto.
Esses numeros estão com formato brasileiro, portanto com código abaixo tentei converter em formato americado para depois formatar para numeros.
invest |>
dplyr::select(lancamento) |>
dplyr::mutate( mov = ifelse(
(stringr::str_sub(string = lancamento,
start = 1, end = 1) =="-"),
yes = "Negativo", no = "Positivo") ,
lancamento = stringr::str_remove( lancamento, pattern = "-"),
lancamento = stringr::str_replace( string = lancamento, pattern = "\\,", "*"),
lancamento = stringr::str_replace( string = lancamento, pattern = "\\.", ",") ,
lancamento = stringr::str_replace( string = lancamento, pattern = "\\*", ".") |>
stringr::str_trim(side = "both") ) |>
dplyr::mutate( valor = lancamento |> as.numeric())
Qual problema?
Uma parte converteu com sucesso, outra não, principalmente os negativos.
O R emitiu uma mensagem de aviso:
A tibble: 233 x 3
lancamento mov valor
1 57.60 Positivo 57.6
2 250.00 Positivo 250
3 113.40 Positivo 113.
4 135.89 Positivo 136.
5 47.50 Positivo 47.5
6 26.70 Positivo 26.7
7 184.10 Positivo 184.
8 58.20 Positivo 58.2
9 39.65 Positivo 39.6
10 59.52 Positivo 59.5
… with 223 more rows
Warning message:
Problem while computing valor = as.numeric(lancamento)
.
i NAs introduced by coercion
Fiz varias tentativas e pesquisa sem sucesso.
Alguem já teve problema parecido que possa ajudar?
Compartilho a base para reproduzir o resultado.
Muito Obrigado!