en R, ¿cómo calcular la media de todas las columnas, por grupo?
Necesito obtener la media de todas las columnas de un gran conjunto de datos usando R, agrupadas por 2 variables.
Probémoslo con mtcars:
library(dplyr)
g_mtcars <- group_by(mtcars, cyl, gear)
summarise(g_mtcars, mean (hp))
# Source: local data frame [8 x 3]
# Groups: cyl [?]
#
# cyl gear `mean(hp)`
# <dbl> <dbl> <dbl>
# 1 4 3 97.0000
# 2 4 4 76.0000
# 3 4 5 102.0000
# 4 6 3 107.5000
# 5 6 4 116.5000
# 6 6 5 175.0000
# 7 8 3 194.1667
# 8 8 5 299.5000
Funciona para "hp", pero necesito obtener la media para todas las demás columnas de mtcars (excepto "cyl" y "gear" que forman un grupo). El conjunto de datos es grande, con varias columnas. Escribiéndolo a mano, así:summarise(g_mtcars, mean (hp), mean(drat), mean (wt),...)
No es práctico.