Funciones por grupo en R
group_modify entrega cada grupo a una función como data frame.
library(dplyr)
runs <- tibble(
lang = c("r", "r", "python", "python"),
tpm = c(88, 96, 104, 99)
)
print(runs |>
group_by(lang) |>
group_modify(~ tibble(
n = nrow(.x),
span = diff(range(.x$tpm))
)))
print(runs |> reframe(quantile = c(0.25, 0.75),
value = quantile(tpm, c(0.25, 0.75)), .by = lang))
print(group_split(group_by(runs, lang)) |> length())
Cómo funciona
- La función recibe el grupo y su clave.
- Debe devolver un data frame, que luego se apila.
reframees el verbo más nuevo para resúmenes de varias filas.
El intento, en números
- Líneas
- 17
- Caracteres a escribir
- 352
- Tokens
- 123
- Ritmo de tres estrellas
- 105 tpm
Al ritmo de tres estrellas de 105 tokens por minuto, este intento toma unos 70 segundos.
Paso 3 de 3 en Ventanas y filas; paso 20 de 27 en dplyr.