Funciones de ventana en R
lag, lead, funciones acumulativas y ranking, dentro de un grupo.
library(dplyr)
runs <- tibble(
lang = c("r", "r", "r", "python", "python"),
day = 1:5,
tpm = c(88, 96, 92, 104, 99)
)
print(mutate(runs,
previous = lag(tpm),
change = tpm - lag(tpm),
running = cumsum(tpm),
best_so_far = cummax(tpm),
.by = lang))
print(mutate(runs, rank = dense_rank(desc(tpm)),
position = row_number(desc(tpm))))
Cómo funciona
lagmira una fila atrás; el primer valor es NA.cumsumy compañía acumulan a lo largo de la columna.dense_rankyrow_numberdifieren en los empates.
El intento, en números
- Líneas
- 17
- Caracteres a escribir
- 332
- Tokens
- 117
- Ritmo de tres estrellas
- 105 tpm
Al ritmo de tres estrellas de 105 tokens por minuto, este intento toma unos 67 segundos.
Paso 1 de 3 en Ventanas y filas; paso 18 de 27 en dplyr.