¿Cómo convertir caracteres a numéricos en R?(con ejemplos)

Actualizado por ultima vez el 28 de noviembre de 2022, por Dereck Amesquita.

Podemos usar la siguiente sintaxis para convertir un vector de caracteres en un vector numérico en R:

numeric_vector <- as.numeric(character_vector)

Este tutorial proporciona varios ejemplos de cómo utilizar esta función en la práctica.

Ejemplo 1: Convertir un vector de carácter a numérico

Usaremos la función as.numeric, la cual nos permite rápidamente transformar un vector de caracteres a números.

El siguiente código muestra cómo convertir un vector de caracteres en un vector numérico:

 # Creamos un vector de caracteres
chars <- c('12', '14', '19', '22', '26')

# Convertimos el vector usando as.numeric
numbers <- as.numeric(chars)

# Mostramos el vector de numeros
numbers

[1] 12 14 19 22 26

# Confirmamos usando class
class(numbers)

[1] "numeric"

Ejemplo 2: Convertir una columna de carácter a numérico

El siguiente código muestra cómo convertir una columna específica en un marco de datos de carácter a numérico:

 #Creamos un data frame
df <- data.frame(a = c('12', '14', '19', '22', '26'),
                 b = c(28, 34, 35, 36, 40))

# Convertirmos la columna del data frame a numeros
df$a <- as.numeric(df$a)

# Mostramos el dataframe
df

   a  b
1 12 28
2 14 34
3 19 35
4 22 36
5 26 40

# Vemos la clase de la columna del data frame
class(df$a)

[1] "numeric"

Ejemplo 3: Convertir varias columnas de carácter a numérico

El siguiente código muestra cómo convertir todas las columnas de caracteres en un marco de datos de carácter a numérico:

# Creamos el data frame
df <- data.frame(a = c('12', '14', '19', '22', '26'),
                 b = c('28', '34', '35', '36', '40'),
                 c = as.factor(c(1, 2, 3, 4, 5)),
                 d = c(45, 56, 54, 57, 59))

# Mostramos la clase de cada columna
sapply(df, class)

          a           b           c           d 
"character" "character"    "factor"   "numeric" 

# Identificamos las columnas con caracteres
chars <- sapply(df, is.character)

# Convertimos las columnas identificadas a caracteres
df[ , chars] <- as.data.frame(apply(df[ , chars], 2, as.numeric))

# Mostramos la clase de las columnas del data frame
sapply(df, class)

        a         b         c         d 
"numeric" "numeric"  "factor" "numeric" 

Este código realizó los siguientes cambios en las columnas del marco de datos:

  • Columna a: de carácter a numérico
  • Columna b: de carácter a numérico
  • Columna c: Sin cambios (ya que era un factor)
  • Columna d: Sin cambios (ya que ya era numérica)

Al usar las funciones apply () y sapply () , pudimos convertir solo las columnas de caracteres en columnas numéricas y dejar todas las demás columnas sin cambios.

  • https://r-project.org
  • https://www.python.org/
  • https://www.stata.com/

I’m a Bachelor of Economics gratuaded from the National University of San Agustin. I have experience in Python, R and other languages with aplications in Finance or Econometrics, I also have knowledge of statistics and econometrics. If you need help on some issues you can write to me.

Deja un comentario

Los gráficos de residuos se utilizan a menudo para evaluar si los residuos en un análisis de regresión están distribuidos…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!