Contenido de este artículo
- 0
- 0
- 0
- 0
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/
¿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: