Reordenar factores en R

Autor: | Última modificación: 24 de octubre de 2022 | Tiempo de Lectura: 2 minutos
Temas en este post:

Existen diferentes formas de reordenar factores en R. En esta ocasión, te explicaremos cómo se utiliza la función relevel.

¿Cómo reordenar factores en R?

Se pueden reordenar factores en R por su nivel, buscando que el nivel de referencia especificado sea el primero y los demás se muevan hacia abajo. Esto se convierte en un elemento de gran utilidad para contrastes de tratamiento que toman como referencia el primer nivel.

En los modelos de regresión lineal básicos en R, la categoría de referencia 1 se utiliza, normalmente, para almacenar la variable de factor. En algunas ocasiones requeriremos reordenar factores en R de forma manual y para ello se utiliza la función relevel ().

Relevel () se utiliza para ordenar los niveles de un vector numérico o de caracteres de factores, de modo que el nivel especificado sea el primero y los demás se muevan hacia abajo.

Se puede, por ejemplo, cambiar el orden de los niveles de los factores para ordenarlos alfabéticamente.

Modo de uso

La fórmula para utilizar el relevel () es:

relevel (x, ref, ...)

Donde x, ref y … son los argumentos, de modo que:

  • x es un factor desordenado o un vector de caracteres.
  • ref es el nivel de referencia, que convencionalmente es un string. El nivel de referencia puede ser una función, a la que se le llamará con los niveles actuales como entrada. El valor devuelto (que debe ser un vector de caracteres) se utilizará para volver a nivelar el factor. Todos los niveles que no sean mencionados conservarán su orden actual, por defecto, después de los niveles reordenados de manera explícita.
  • son los argumentos adicionales para futuros métodos.

Veamos un ejemplo

Para que quede más claro cómo se lleva a cabo el proceso de reordenar factores en R, te ponemos en contexto con un ejemplo:

# Crear marco de datos de muestra
x <- sample(1:7, 500, replace = TRUE)
y <- round(x + rnorm(500), 3)
x <- as.factor(x)
sample_data <- data.frame(x, y)
 
# Aclarar el nivel de referencia de reordenación
sample_data$x <- relevel(sample_data$x, ref = 4)
 
# Crear el modelo de regresión lineal
linear_model <- lm( y~x, sample_data)
 
# Imprimir el resumen del modelo lineal
summary(linear_model)

El output sería el siguiente:

reordenar factores en r

¿Qué sigue?

Existen otras formas de reordenar factores en R, como reorder (), una función genérica en la que el método predeterminado trata su primer argumento como una variable categórica y reordena los otros niveles en función de los valores de una segunda variable, generalmente numérica.

También existe una librería dentro del paquete dplyr, pero no suele utilizarse.

Todo esto y mucho más podrás aprenderlo en nuestro Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp, una formación intensiva en la que, en muy poco tiempo, podrás comprender los conceptos y temáticas necesarios para incursionar en el mercado laboral. ¡Anímate a pedir más información!

👉 Descubre más del Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp ¡Descarga el temario!

👉 Prueba el Bootcamp Gratis por una Semana ¡Empieza ahora mismo!

👉 Conoce nuestros otros Bootcamps en Programación y Tecnología

[email protected]

¿Trabajo? Aprende a programar y consíguelo.

¡No te pierdas la próxima edición del Aprende a Programar desde Cero Full Stack Jr. Bootcamp!

 

Prepárate en 4 meses, aprende las últimas tecnologías y consigue trabajo desde ya. 

 

Solo en España hay más de 120.400 puestos tech sin cubrir, y con un sueldo 11.000€ por encima de la media nacional. ¡Es tu momento!

 

🗓️ Próxima edición: 13 de febrero

 

Reserva tu plaza descubre las becas disponibles.