Преобразовать проценты в числовые во фрейме данных в R? [дубликат]

avatar
Jorge Hernández
9 августа 2021 в 04:09
80
2
2

Привет и спасибо, что читаете меня

Я пытаюсь преобразовать столбцы df в числовые значения, но это не работает, кто-нибудь знает, почему? Код следующий:

datos <- data.frame(dato1 = c(1,2,3),
                    porcentaje = c("1%", "2%", "3%")
                    )

datos <- datos |> 
  as.numeric(as.numeric(sub("%", "", datos$porcentaje)))
Источник

Ответы (2)

avatar
TarJae
9 августа 2021 в 04:28
2

мы могли бы использовать parse_number

library(dplyr)
library(readr)
datos %>%
  mutate(porcentaje = parse_number(porcentaje)
avatar
Anoushiravan R
9 августа 2021 в 04:15
4

Можно использовать следующее решение:

datos <- transform(datos, 
                   porcentaje = as.numeric(gsub("[%]", "", datos$porcentaje)))

> str(datos)
'data.frame':   3 obs. of  2 variables:
 $ dato1     : num  1 2 3
 $ porcentaje: num  1 2 3