Saltar al contenido

Cómo convertir el carácter de porcentaje en numérico en R

Solución:

Por definición, el 10% no es un vector numérico. Por tanto, la respuesta NA es correcta. Puede convertir un vector de caracteres que contenga estos números en numérico de esta manera:

percent_vec = paste(1:100, "%", sep = "")
as.numeric(sub("%", "", percent_vec))

Esto funciona usando sub para reemplazar el carácter% por nada.

Eliminar el "%", convierta a numérico, luego divida por 100.

x <- c("10%","5%")
as.numeric(sub("%","",x))/100
# [1] 0.10 0.05

Si eres un tidyverse usuario (y en realidad también si no) ahora hay un parse_number función en el readr paquete:

readr::parse_number("10%")

La ventaja es la generalización a otros formatos de cadena comunes como:

parse_number("10.5%")
parse_number("$1,234.5")
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *