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/

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

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!