group_by y summarize en R
El corazón dividir-aplicar-combinar de dplyr.
library(dplyr)
by_cyl <- mtcars %>%
group_by(cyl) %>%
summarise(
n = n(),
avg_mpg = mean(mpg),
sd_mpg = sd(mpg),
best = max(mpg),
.groups = "drop"
) %>%
arrange(desc(avg_mpg))
two_way <- mtcars %>%
group_by(cyl, am) %>%
summarise(avg = mean(mpg), .groups = "drop")
Cómo funciona
group_bydefine las columnas de agrupación.summarizecolapsa cada grupo en una fila.n()cuenta filas;.groups = "drop"desagrupa después.
El intento, en números
- Líneas
- 16
- Caracteres a escribir
- 266
- Tokens
- 80
- Ritmo de tres estrellas
- 100 tpm
Al ritmo de tres estrellas de 100 tokens por minuto, este intento toma unos 48 segundos.
Paso 4 de 4 en Agrupación; paso 17 de 27 en dplyr.