Convertir carácter a factor en R (3 ejemplos)

Se el primero en calificar

Este artículo muestra cómo convertir caracteres en factores en el lenguaje de programación R.

Tabla de contenido:

¿Suena bien? Vamos a profundizar en…

Ejemplo 1: Convertir vector de caracteres en factor

Este ejemplo muestra cómo convertir un vector con clase de carácter a la clase de factor en el lenguaje de programación R. Considere el siguiente vector de ejemplo:

vec <- c ( "A" , "B" , "A" , "D" , "C" , "B" )                      # Crear vector de ejemplo

Podemos verificar la clase de nuestro vector con la función de clase:

clase ( vec )                                                  # Comprobar clase de vector 
# "carácter"

La consola de RStudio muestra el tipo de datos de nuestro vector: Es un carácter. Ahora, podemos usar la función as.factor para convertir esta cadena de caracteres a la clase factor:

vec_updated <-  como . factor ( vec )                               # Convertir vector de caracteres a factor

Nuestro vector actualizado se almacena en el objeto de datos vec_updated. Nuevamente, podemos usar la función de clase para verificar la clase de nuestro vector actualizado:

clase ( vec_updated ) 
# "factor"

¡Es un factor!

Ejemplo 2: Convertir columna de caracteres en factor

También podemos convertir variables de caracteres (es decir, columnas) de marcos de datos al tipo de factor. Considere el siguiente marco de datos de ejemplo:

datos < -datos . marco ( x1 =  1 : 5 ,                                # Crear marco de datos de ejemplo 
                   x2 = letras [ 1 : 5 ] ,
                   x3 = c ( 4 , 1 , 5 , 3 , 1 ) ,
                   x4 = c ( "Masculino" , "Femenino" , "Masculino" , "Masculino" , "Femenino" ) ,
                   stringsAsFactors =  FALSE ) 
data                                                        # Imprimir marco de datos de ejemplo 
# x1 x2 x3 x4 
# 1 a 4 Masculino 
# 2 b 1 Femenino 
# 3 c 5 Masculino 
# 4 d 3 Masculino 
# 5 e 1 Femenino

Como puede ver según la salida de la consola de RStudio, nuestro marco de datos de ejemplo contiene cinco filas y cuatro columnas, donde las columnas 2 y 4 son caracteres.

Primero dupliquemos este marco de datos para este ejemplo:

data2 <- data                                               # Replicar marco de datos de ejemplo

Ahora, podemos verificar la clase de la columna x2 aplicando la función de clase a esta columna:

clase ( datos2$x2 )                                             # Comprobar la clase de la segunda columna 
# "carácter"

Como puede ver, nuestra columna tiene la clase de carácter. Ahora, podemos aplicar la clase as.factor para reemplazar nuestra columna de caracteres con el factor correspondiente:

datos2$x2 <-  como . factor ( data2$x2 )                             # Convertir columna de caracteres a factor

Si revisamos la clase nuevamente, podemos ver que la columna actualizada es un factor:

clase ( datos2$x2 )                                             # Comprobar la clase de la segunda columna 
# "factor"

Ejemplo 3: convertir todas las columnas de caracteres del marco de datos en factor

En el Ejemplo 2, expliqué cómo convertir una variable de carácter en un factor en R. En este ejemplo, ilustraré cómo convertir todas las columnas de caracteres en un factor en R.

Dupliquemos nuestros datos de ejemplo nuevamente:

data3 <- data                                               # Replicar marco de datos de ejemplo

Ahora, podemos usar la función str para identificar las clases de todas nuestras variables:

str ( datos3 )                                                  # Comprobar la clase de todas las columnas 
# 'datos.marco': 5 obs. de 4 variables: 
# $ x1: int 1 2 3 4 5 
# $ x2: chr "a" "b" "c" "d" ... 
# $ x3: num 4 1 5 3 1 
# $ x4: chr " Hombre" "Mujer" "Hombre" "Hombre" ...

La salida anterior visualiza que las columnas 2 y 4 son caracteres. Ahora, podemos usar la función as.data.frame en combinación con la función unclass para convertir todas las columnas de caracteres al factor R:

datos3 <-  como . datos _ frame ( unclass ( data3 ) ,                      # Convierte todas las columnas en cadenas de 
                       factoresAsFactors =  TRUE )

Si aplicamos de nuevo la función str, podemos ver el cambio:

str ( datos3 )                                                  # Comprobar la clase de todas las columnas 
# 'datos.marco': 5 obs. de 4 variables: 
# $ x1: int 1 2 3 4 5 
# $ x2: Factorizar con 5 niveles "a","b","c","d",..: 1 2 3 4 5 
# $ x3 : num 4 1 5 3 1 
# $ x4: Factor con 2 niveles "Femenino","Masculino": 2 1 2 2 1

Las columnas 2 y 4 se convirtieron en factores.

Vídeo y recursos adicionales

En caso de que necesite más información sobre los ejemplos de este artículo, le recomiendo que eche un vistazo al siguiente video de mi canal de YouTube. Explico el contenido de este artículo en el vídeo:

Además, puede echar un vistazo a los otros artículos de este sitio web. Algunos artículos se enumeran aquí:

En este artículo de R, aprendió cómo cambiar vectores y columnas de cadena de caracteres a factor . Si tienes alguna pregunta adicional, no dudes en hacérmelo saber en la sección de comentarios.

Alejandro Lugon Administrator

Alejandro Lugón es un economista y escritor especializado en Python y R, conocido por ser el creador del blog Estadisticool. Nacido enxico, Lugón se graduó de la Universidad Autónoma dexico con una Licenciatura en Economía. Desde entonces ha trabajado como economista en varias empresas. Lugón también ha escrito varios libros sobre temas relacionados con la economía, el análisis de datos y la programación. Su blog Estadisticool se ha convertido en un lugar de referencia para los programadores de Python y R. Alejandro Lugón es una inspiración para aquellos que buscan aprender programación y análisis de datos. Su trabajo ha ayudado a muchas personas a entender mejor el uso de la tecnología para hacer sus trabajos.

En este tutorial de R , aprenderá cómo resolver el "Error en FUN: 'tipo' (lista) de argumento no válido" .El…