Cómo calcular la media por grupo en R (con ejemplos)

A menudo, es posible que desee calcular la media por grupo en R. Hay tres métodos que puede utilizar para hacerlo:

Método 1: use la base R.

agregado (df $ col_to_aggregate, lista (df $ col_to_group_by), FUN = mean ) 

Método 2: utilice el paquete dplyr ().

biblioteca (dplyr)

df%>%
  group_by (col_to_group_by)%>%
   summaryise_at (vars (col_to_aggregate), list (name = mean ))

Método 3: utilice el paquete data.table.

biblioteca (tabla de datos)

dt [, list (mean = mean (col_to_aggregate)), by = col_to_group_by]

Los siguientes ejemplos muestran cómo utilizar cada uno de estos métodos en la práctica.

Método 1: Calcular la media por grupo usando la base R

El siguiente código muestra cómo usar la función aggregate () de la base R para calcular los puntos medios anotados por el equipo en el siguiente marco de datos:

#create marco de datos
df <- data.frame (equipo = c ('a', 'a', 'b', 'b', 'b', 'c', 'c'),
                 puntos = c (5, 8, 14, 18, 5, 7, 7),
                 rebs = c (8, 8, 9, 3, 8, 7, 4))

#ver marco de datos
df

  equipo pts rebs
1 a 5 8
2 a 8 8
3 b 14 9
4 b 18 3
5 b 5 8
6 c 7 7
7 c 7 4

# encontrar los puntos medios anotados por el equipo
 agregado (df $ pts, list (df $ team), FUN = mean )

  Grupo 1 x
1 a 6.50000
2 b 12,33333
3 c 7.00000

Método 2: Calcular la media por grupo usando dplyr

El siguiente código muestra cómo usar las funciones group_by () y summaryise_at () del paquete dplyr para calcular los puntos medios anotados por el equipo en el siguiente marco de datos:

biblioteca (dplyr)

#create marco de datos
df <- data.frame (equipo = c ('a', 'a', 'b', 'b', 'b', 'c', 'c'),
                 puntos = c (5, 8, 14, 18, 5, 7, 7),
                 rebs = c (8, 8, 9, 3, 8, 7, 4))

# encontrar los puntos medios anotados por el equipo 
df%>%
   group_by (team)%>%
   summaryise_at (vars (pts), list (name = mean ))

# A tibble: 3 x 2
  nombre del equipo
  <fct> <dbl>
1 a 6,5
2 b 12,3
3 c 7  

Método 3: Calcular la media por grupo usando data.table

El siguiente código muestra cómo calcular los puntos medios anotados por el equipo en el siguiente marco de datos:

biblioteca (tabla de datos) 

#create marco de datos
df <- data.frame (equipo = c ('a', 'a', 'b', 'b', 'b', 'c', 'c'),
                 puntos = c (5, 8, 14, 18, 5, 7, 7),
                 rebs = c (8, 8, 9, 3, 8, 7, 4))

#convertir marco de datos a tabla de datos 
setDT (df)

# encontrar la media de puntos anotados por el equipo 
df [, lista (media = media (pts)), por = equipo]

   equipo significa
1: un 6.50000
2: b 12,33333
3: c 7.00000

Observe que los tres métodos devuelven resultados idénticos.

Puede encontrar más tutoriales de R aquí .

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

Deja un comentario

En la regresión lineal múltiple ordinaria , utilizamos un conjunto de p variables predictoras y una variable de respuesta para…
statologos comunidad-2

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

You have Successfully Subscribed!