Cree nuevas variables en R con mutate () y case_when ()

Actualizado el 17 de julio de 2024, por Luis Benites.

A menudo, es posible que desee crear una nueva variable en un marco de datos en R en función de alguna condición. Afortunadamente esto es fácil de hacer uso de la mutan () y case_when () funciones de la dplyr paquete.

Este tutorial muestra varios ejemplos de cómo utilizar estas funciones con el siguiente marco de datos:

#create marco de datos
df <- data.frame (jugador = c ('a', 'b', 'c', 'd', 'e'),
                 posición = c ('G', 'F', 'F', 'G', 'G'),
                 puntos = c (12, 15, 19, 22, 32),
                 rebotes = c (5, 7, 7, 12, 11))

#ver marco de datos
 df

  puntos de posición del jugador rebotes
1 a G 12 5
2 b F 15 7
3 c F 19 7
4 días G 22 12
5 e G 32 11

Ejemplo 1: crear una nueva variable basada en una variable existente

El siguiente código muestra cómo crear una nueva variable llamada ‘anotador’ basada en el valor en la columna de puntos:

biblioteca (dplyr)

#define nueva variable 'anotador' usando mutar () y case_when ()
 df%>%
   mutar (anotador = case_when (puntos <15 ~ ' bajo ',
                           puntos <25 ~ ' med ',
                           puntos <35 ~ ' alto '))

  jugador posición puntos rebotes goleador
1 a G 12 5 bajo
2 b F 15 7 med
3 c F 19 7 med
4 d G 22 12 med
5 e G 32 11 alto

Ejemplo 2: crear una nueva variable basada en varias variables existentes

El siguiente código muestra cómo crear una nueva variable llamada ‘tipo’ basada en el valor en la columna de jugador y posición:

biblioteca (dplyr)

#define nueva variable 'tipo' usando mutar () y case_when ()
 df%>%
   mutar (tipo = case_when (reproductor == 'a' | reproductor == 'b' ~ ' arranque ',
                            jugador == 'c' | jugador == 'd' ~ ' copia de seguridad ',
                            posición == 'G' ~ ' reserva '))

  jugador posición puntos rebotes tipo
1 a G 12 5 arrancador
2 b F 15 7 motor de arranque
3 c F 19 7 copia de seguridad
4 d G 22 12 respaldo
5 e G 32 11 reserva

El siguiente código muestra cómo crear una nueva variable llamada ‘valueAdded’ basada en el valor en las columnas de puntos y rebotes:

biblioteca (dplyr)

#define nueva variable 'valor agregado' usando mutar () y case_when ()
 df%>%
   mutar (valor agregado = case_when (puntos <= 15 y rebotes <= 5 ~ 2,
                                puntos <= 15 y rebotes> 5 ~ 4,
                                puntos <25 y rebotes <8 ~ 6,
                                puntos <25 y rebotes> 8 ~ 7,
                                puntos> = 25 ~ 9))

  posición del jugador puntos rebotes valor
1 a G 12 5 2
2 b F 15 7 4
3 c F 19 7 6
4 días G 22 12 7
5 e G 32 11 9

Recursos adicionales

Cómo cambiar el nombre de las columnas en R
Cómo eliminar columnas en R
Cómo filtrar filas en R

  • https://r-project.org
  • https://www.python.org/
  • https://www.stata.com/

Redactor del artículo

  • Luis Benites
    Director de Statologos.com

    Tengo una Maestría en Ciencias en Estadística Aplicada y he trabajado en algoritmos de aprendizaje automático para empresas profesionales tanto en el sector de la salud como en el comercio minorista.

    Ver todas las entradas

¿Te hemos ayudado?

Ayudanos ahora tú, dejanos un comentario de agradecimiento, nos ayuda a motivarnos y si te es viable puedes hacer una donación:

La ayuda no cuesta nada

Por otro lado te rogamos que compartas nuestro sitio con tus amigos, compañeros de clase y colegas, la educación de calidad y gratuita debe ser difundida, recuerdalo:

Deja un comentario

Un diagrama de puntos es un tipo de diagrama que muestra frecuencias mediante puntos. Este tutorial explica cómo crear el…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!