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/