Ir al contenido principal

Tutorial de factores en R

Aprende a usar la función factor en R con un ejemplo: su estructura, cómo ordenar niveles, renombrarlos y cómo ordenar valores categóricos.
Actualizado 17 sept 2026  · 5 min leer

Explorar con IA

ChatGPTClaudePerplexity
banner

Los factores son un tipo de variable en R que representan variables categóricas y almacenan los datos en niveles. Su uso principal es en análisis de datos, especialmente en análisis estadístico. Además, ayudan a reducir la redundancia y ahorrar memoria.

Nota: Una variable categórica toma valores en función de etiquetas o nombres. Por ejemplo, el grupo sanguíneo de una persona puede ser A, B, AB u O.

Función factor

Uso: categorizar datos con un número reducido de valores.
Parámetros: factor(v): v puede ser un vector de valores.

Veamos un ejemplo práctico de un factor.

Abajo tienes código con dos variables categóricas, "Male" y "Female", también llamadas valores del factor.

gender <- c("Male","Female","Female","Male","Female")

Creemos un factor para el género usando 'factor(gender)' y guardándolo en la variable 'gender.factor'.

gender.factor <- factor(gender)
gender.factor
  1. Male
  2. Female
  3. Female
  4. Male
  5. Female
Niveles:
  1. 'Female'
  2. 'Male'

El código anterior devuelve la siguiente salida:

Male Female Female Male Female
Levels:
'Female' 'Male'

Como ves, los valores se imprimen igual que en el vector de entrada. Además, los "Levels" ("Female" y "Male") aparecen ordenados alfabéticamente.

Estructura de la función factor

Examinemos la estructura del factor usando 'str(gender.factor)' en el siguiente código.

str(gender.factor)
 Factor w/ 2 levels "Female","Male": 2 1 1 2 1 
Factor w/ 2 levels "Female","Male": 2 1 1 2 1

La salida muestra que hay un factor con 2 niveles. factor convierte el vector de caracteres gender en un vector de valores enteros. "Female" es el primer nivel (codificado como 1) y "Male" es el segundo (codificado como 2).

El objetivo principal de codificar de caracteres a numéricos es que las categorías se repiten y, de otro modo, ocuparían mucha memoria. Usar factores reduce esa carga y ahorra espacio.

Cambiar el orden de los niveles

Vamos a cambiar el orden de los niveles, de modo que "Female" pase a ser 2 y "Male" sea 1.

Crearemos un nuevo factor de género cambiando los niveles de "Male" y "Female" pasándolos como vector al argumento "levels". El resultado se guarda en la variable "gender.factor2".

gender.factor2 <- factor(gender,levels=c("Male","Female"))
gender.factor2
str(gender.factor2)
  1. Male
  2. Female
  3. Female
  4. Male
  5. Female
Niveles:
  1. 'Male'
  2. 'Female'
 Factor w/ 2 levels "Male","Female": 1 2 2 1 2

Se imprime 'gender.factor2' junto con su estructura usando 'str(gender.factor2)', donde se aprecian los siguientes cambios.

Male Female Female Male Female
 Levels:
'Male' 'Female'
 Factor w/ 2 levels "Male","Female": 1 2 2 1 2

Ahora la codificación es "Male" = 1 y "Female" = 2. Es diferente de 'gender.factor', donde era al revés.

Renombrar niveles de un factor

Vamos a cambiar el nombre de los valores del vector de entrada usando 'levels' como primer argumento con los valores "Male" y "Female", y 'labels' como segundo argumento con las nuevas etiquetas "Gen_Male" y "Gen_Female" respectivamente.

factor(gender,levels = c("Male","Female"),labels = c("Gen_Male","Gen_Female"))
  1. Gen_Male
  2. Gen_Female
  3. Gen_Female
  4. Gen_Male
  5. Gen_Female
Niveles:
  1. 'Gen_Male'
  2. 'Gen_Female'
Gen_Male Gen_Female Gen_Female Gen_Male Gen_Female
 Levels:
'Gen_Male' 'Gen_Female'

La salida muestra que el nombre "Male" pasa a "Gen_Male" y "Female" a "Gen_Female".

Ordenar una variable categórica

Veamos otro ejemplo con valores categóricos ordinales, donde el orden importa. Por ejemplo, para la talla de un pantalón puede haber L ("L"), XL ("XL") y XXL ("XXL"), en orden ascendente. El código siguiente crea el vector de caracteres "L", "XL" y "XXL" y lo guarda en 'pant'. 'pant.factor' es la variable factor con los niveles en orden ascendente 'levels = c("L", "XL", "XXL")' y 'ordered = TRUE', que permite comparar según ese orden.

pant <- c("XL","L","XL","XXL","L","XL")
pant.factor <- factor(pant,ordered = TRUE,levels = c("L","XL","XXL"))
pant.factor
pant.factor[1] > pant.factor[2]
  1. XL
  2. L
  3. XL
  4. XXL
  5. L
  6. XL
Niveles:
  1. 'L'
  2. 'XL'
  3. 'XXL'

TRUE

XL L XL XXL L XL
 Levels:'L'< 'XL' < 'XXL'
TRUE

Primero se imprime el vector (XL, L, XL, XXL, L, XL) con 'pant.factor'. Los niveles 'L' < 'XL' < 'XXL' quedan en orden ascendente, como muestra la consola. Además, 'pant.factor[1] > pant.factor[2]' compara si "XL" es mayor que "L", lo que devuelve TRUE.

¡Enhorabuena!

¡Has llegado al final de este tutorial!

En este tutorial has visto la función factor en R con un ejemplo, su estructura, cómo cambiar el orden de los niveles, cómo renombrarlos y cómo ordenar valores categóricos.

Si quieres seguir aprendiendo R, echa un vistazo al curso de DataCamp Introduction to R.

No te pierdas también el tutorial Using Functions in R.
 

Temas
R
Ciencia de datos

Cursos de R

Curso

Introducción a R

4 h
3.1M
Domina los fundamentos del análisis de datos en R, como vectores, listas y marcos de datos, y practica R con conjuntos de datos reales.
Ver detallesRight Arrow
Iniciar Curso
Ver másRight Arrow
Relacionado

Tutorial

Tutorial de ordenación en R con order()

En este tutorial, aprenderás a ordenar utilizando order(). Veremos cómo ordenar vectores utilizando distintos parámetros, ordenar dataframes y mucho más.

Olivia Smith

6 min

Tutorial

Tutorial de tablas de contingencia en R

En este tutorial, aprenderás a crear tablas de contingencia y a probar y cuantificar las relaciones visibles en ellas.
Łukasz Deryło's photo

Łukasz Deryło

10 min

Tutorial

Tutorial de regresión lineal en R

En este tutorial aprenderás los fundamentos de un modelo estadístico muy popular: la regresión lineal.

Eladio Montero Porras

15 min

Tutorial

Tutorial sobre el uso de funciones en R

Descubra qué son las funciones R, los diferentes tipos de funciones en R y cómo crear sus propias funciones en R.
Javier Canales Luna's photo

Javier Canales Luna

11 min

multiple linear regression

Tutorial

Regresión lineal múltiple en R: tutorial con ejemplos

Una visión completa para entender las regresiones lineales múltiples en R a través de ejemplos.
Zoumana Keita 's photo

Zoumana Keita

12 min

Tutorial

Tutorial de análisis de componentes principales en R

En este tutorial, aprenderás a utilizar el PCA (análisis de componentes principales) de R para extraer datos con muchas variables y crear visualizaciones para mostrar esos datos.
Zoumana Keita 's photo

Zoumana Keita

15 min

Ver MásVer Más