Cómo encontrar el valor máximo por grupo en R

A menudo, es posible que desee encontrar el valor máximo de cada grupo en un marco de datos en R. Afortunadamente, esto es fácil de hacer usando funciones del paquete dplyr .

Este tutorial explica cómo hacerlo usando el siguiente marco de datos:

#create marco de datos
df <- data.frame (equipo = c ('A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 posición = c ('G', 'F', 'F', 'G', 'G', 'G', 'F'),
                 puntos = c (12, 15, 19, 22, 34, 34, 39))

#ver marco de datos
 df

  puntos de posición del equipo
1 AG 12
2 AF 15
3 AF 19
4 BG 22
5 BG 34
6 BG 34
7 BF 39

Ejemplo 1: Encuentre el valor máximo por grupo

El siguiente código muestra cómo encontrar el valor máximo por equipo y posición:

biblioteca (dplyr)

# encontrar el valor máximo por equipo y puesto
df%>%
  group_by (equipo, posición)%>%
   resumir (max = max (puntos, na.rm = TRUE ))

# A tibble: 4 x 3
# Grupos: equipo [?]
  posición del equipo máx.
      
1 AF 19,0
2 AG 12.0
3 BF 39,0
4 BG 34,0

Ejemplo 2: Devolver filas que contienen el valor máximo por grupo

El siguiente código muestra cómo devolver las filas que contienen el valor máximo por equipo y posición:

biblioteca (dplyr)

# busque filas que contengan el máximo de puntos por equipo y posición
df%>%
  group_by (equipo, posición)%>%
   filter (puntos == max (puntos, na.rm = TRUE ))

# A tibble: 5 x 3
# Grupos: equipo, posición [4]
  puntos de posición del equipo
       
1 AG 12.0
2 AF 19,0
3 BG 34,0
4 BG 34,0
5 BF 39.0

Ejemplo 3: Devolver una sola fila que contenga el valor máximo por grupo

En el ejemplo anterior, había dos jugadores que tenían la cantidad máxima de puntos en el equipo A y ambos estaban en la posición G. Si solo desea devolver al primer jugador con el valor máximo en un grupo, puede usar el segmento () funcionan de la siguiente manera:

biblioteca (dplyr)

# busque filas que contengan el máximo de puntos por equipo y posición
df%>%
  group_by (equipo, posición)%>%
   slice (which.max (puntos))

# A tibble: 4 x 3
# Grupos: equipo, posición [4]
  puntos de posición del equipo
       
1 AF 19,0
2 AG 12.0
3 BF 39,0
4 BG 34,0

Recursos adicionales

La guía completa: cómo agrupar y resumir datos en R
Cómo filtrar filas en R
Cómo eliminar filas duplicadas en R

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

Deja un comentario

Hay tres formas comunes de agregar una nueva columna a un marco de datos en R: 1. Utilice el operador…
statologos comunidad-2

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

You have Successfully Subscribed!