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/

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

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!