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

Actualizado por ultima vez el 7 de mayo de 2021, por .

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/

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!