Elegir filas por grupo en R
La fila superior de cada grupo, y las demás variantes de slice.
library(dplyr)
runs <- tibble(
lang = c("r", "r", "python", "python", "python"),
day = c(1, 2, 1, 2, 3),
tpm = c(88, 96, 104, 99, 104)
)
print(slice_max(runs, tpm, n = 1, by = lang))
print(slice_max(runs, tpm, n = 1, by = lang, with_ties = FALSE))
print(slice_head(runs, n = 1, by = lang))
set.seed(1)
print(slice_sample(runs, n = 2))
print(slice(runs, 2:3))
Cómo funciona
slice_max(by = ...)es el top n por grupo.slice_headyslice_sampletoman por posición o al azar.with_ties = FALSEconserva exactamente n filas.
El intento, en números
- Líneas
- 14
- Caracteres a escribir
- 360
- Tokens
- 137
- Ritmo de tres estrellas
- 95 tpm
Al ritmo de tres estrellas de 95 tokens por minuto, este intento toma unos 87 segundos.
Paso 4 de 5 en Filas; paso 8 de 27 en dplyr.