Saltar al contenido principal

Niveles de factores en R

Este tutorial toma material del curso gratuito Intro to R de DataCamp y te permite practicar con los factores.
· 6 min leer

Explora con IA

Si quieres hacer nuestro curso gratuito Intro to R, aquí tienes el enlace.

Niveles de factores

Al trabajar por primera vez con un conjunto de datos, a menudo verás que incluye factores con ciertos niveles. Sin embargo, puede que te interese cambiar el nombre de esos niveles para que sean más claros u por otros motivos. R te permite hacerlo con la función levels():

levels(factor_vector) <- c("name1", "name2",...)

Un buen ejemplo es la información en bruto que obtienes de una encuesta. Una pregunta habitual en cualquier cuestionario es el sexo de la persona encuestada. Aquí, por simplicidad, solo se registraron dos categorías, "M" y "F". (En datos de encuestas normalmente necesitarás más categorías; en cualquier caso, usas un factor para almacenar los datos categóricos).

survey_vector <- c("M", "F", "F", "M", "M")

Anotar el sexo con las abreviaturas "M" y "F" puede ser práctico si recoges datos en papel, pero puede dar pie a confusiones al analizarlos. En ese momento, a menudo querrás cambiar los niveles del factor a "Male" y "Female" en lugar de "M" y "F" para que quede más claro.

Ojo: el orden en el que asignas los niveles importa. Si tecleas levels(factor_survey_vector), verás que muestra [1] "F" "M". Si no especificas los niveles del factor al crear el vector, R los asigna alfabéticamente. Para mapear correctamente "F" a "Female" y "M" a "Male", los niveles deben establecerse como c("Female", "Male"), en ese orden.

Instrucciones

  • Revisa el código que construye un vector factor a partir de survey_vector. Necesitarás usar factor_survey_vector en la siguiente instrucción.
  • Cambia los niveles del factor factor_survey_vector a c("Female", "Male"). Fíjate en el orden de los elementos del vector.

        # Código para construir factor_survey_vector
        survey_vector <- c("M", "F", "F", "M", "M")
        factor_survey_vector <- factor(survey_vector)

        # Especifica los niveles de factor_survey_vector
        levels(factor_survey_vector) <-

        factor_survey_vector
        

Resumir un factor

Cuando termines este curso, una de tus funciones favoritas en R será summary(). Te da una visión rápida del contenido de una variable:

summary(my_var)

Volviendo a nuestra encuesta, te gustaría saber cuántas respuestas "Male" tienes en tu estudio y cuántas "Female". La función summary() te da la respuesta.

Instrucciones

Pide un summary() de survey_vector y de factor_survey_vector. Interpreta los resultados de ambos vectores. ¿Son igual de útiles en este caso?


        # Construye factor_survey_vector con niveles claros
        survey_vector <- c("M", "F", "F", "M", "M")
        factor_survey_vector <- factor(survey_vector)
        levels(factor_survey_vector) <- c("Female", "Male")
        factor_survey_vector

        # Genera el resumen para survey_vector


        # Genera el resumen para factor_survey_vector
        

Factores ordenados

Como "Male" y "Female" son niveles de un factor no ordenado (o nominal), R devuelve un aviso indicando que el operador mayor que no tiene sentido. Como ya viste, R asigna el mismo valor a los niveles en este tipo de factores.

¡Pero no siempre es así! A veces también trabajarás con factores que sí tienen un orden natural entre sus categorías. Si es el caso, tenemos que asegurarnos de pasar esa información a R...

Imagina que diriges un equipo de investigación con cinco analistas de datos y quieres evaluar su rendimiento. Para ello, mides su velocidad, evalúas a cada analista como "slow", "medium" o "fast", y guardas los resultados en speed_vector.

Instrucciones

Como primer paso, asigna a speed_vector un vector con 5 entradas, una por cada analista. Cada entrada debe ser "slow", "medium" o "fast". Usa la siguiente lista:

  • La analista 1 es medium,
  • El analista 2 es slow,
  • El analista 3 es slow,
  • La analista 4 es medium y
  • El analista 5 es fast.

Todavía no hace falta especificar que son factores.


        # Crea speed_vector
        speed_vector <-
        


Si quieres seguir aprendiendo con este curso, aquí tienes el enlace.

Echa un vistazo a nuestro tutorial de factores en R.

Temas

Relacionado

Tutorial

Tutorial de regresión lineal en R

Tutorial

Creación de una lista en R