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)