typestar

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

  1. lag mira una fila atrás; el primer valor es NA.
  2. cumsum y compañía acumulan a lo largo de la columna.
  3. dense_rank y row_number difieren 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.

Escribe este fragmento

Paso 1 de 3 en Ventanas y filas; paso 18 de 27 en dplyr.

← Anterior Siguiente →