Cómo seleccionar la primera fila por grupo usando dplyr

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

A menudo, es posible que desee seleccionar la primera fila de cada grupo usando el paquete dplyr en R. Puede usar la siguiente sintaxis básica para hacerlo:

df%>%
   group_by (group_var)%>%
   organizar (valores_var)%>%
   filter (row_number () == 1 )

El siguiente ejemplo muestra cómo utilizar esta función en la práctica.

Ejemplo: seleccione la primera fila por grupo en R

Supongamos que tenemos el siguiente conjunto de datos en R:

#create conjunto de datos
df <- data.frame (equipo = c ('A', 'A', 'A', 'B', 'B', 'B', 'C', 'C', 'C', 'C' ),
                 puntos = c (4, 9, 7, 7, 6, 13, 8, 8, 4, 17))

#ver conjunto de datos
 df

   puntos de equipo
1 A 4
2 A 9
3 A 7
4 B 7
5 B 6
6 B 13
7 C 8
8 C 8
9 C 4
10 C 17

El siguiente código muestra cómo usar el paquete dplyr para seleccionar la primera fila por grupo en R:

biblioteca (dplyr)

df%>%
  group_by (equipo)%>%
   organizar (puntos)%>%
   filter (número_fila () == 1 )

# A tibble: 3 x 2
# Grupos: equipo [3]
  puntos de equipo
    
1 A 4
2 C 4
3 B 6

De forma predeterminada, organizar () ordena los valores en orden ascendente, pero en su lugar podemos ordenar fácilmente los valores en orden descendente:

df%>%
   group_by (equipo)%>%
   organizar ( desc (puntos))%>%
   filter (número_fila () == 1 )

# A tibble: 3 x 2
# Grupos: equipo [3]
  puntos de equipo
    
1 C 17
2 B 13
3 A 9

Tenga en cuenta que puede modificar fácilmente este código para seleccionar la enésima fila de cada grupo. Simplemente cambie row_number () == n .

Por ejemplo, si desea seleccionar la segunda fila por grupo, puede usar la siguiente sintaxis:

df%>%
   group_by (equipo)%>%
   organizar ( desc (puntos))%>%
   filter (número_fila () == 2 )

O puede usar la siguiente sintaxis para seleccionar la última fila por grupo:

df%>%
   group_by (equipo)%>%
   organizar ( desc (puntos))%>%
   filter (número_fila () == n () )

Recursos adicionales

Cómo organizar filas en R
Cómo contar las observaciones por grupo en R
Cómo encontrar el valor máximo por grupo en R

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

Deja un comentario

La distribución multinomial describe la probabilidad de obtener un número específico de conteos para k resultados diferentes, cuando cada resultado…
statologos comunidad-2

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

You have Successfully Subscribed!