Trabajo fila por fila en R
rowwise convierte cada fila en su propio grupo, para cálculos entre columnas.
library(dplyr)
scores <- tibble(
lang = c("r", "python"),
week1 = c(88, 104),
week2 = c(96, 99),
week3 = c(92, 101)
)
print(mutate(rowwise(scores),
best = max(c_across(starts_with("week"))),
mean = round(mean(c_across(week1:week3)), 1)))
print(mutate(scores, total = rowSums(across(starts_with("week")))))
print(ungroup(rowwise(scores)) |> nrow())
Cómo funciona
rowwisees la salida de emergencia cuando la vectorización no alcanza.c_acrossreúne varias columnas para una fila.pmapde purrr suele ser más rápido para el mismo trabajo.
El intento, en números
- Líneas
- 15
- Caracteres a escribir
- 350
- Tokens
- 122
- Ritmo de tres estrellas
- 105 tpm
Al ritmo de tres estrellas de 105 tokens por minuto, este intento toma unos 70 segundos.
Paso 2 de 3 en Ventanas y filas; paso 19 de 27 en dplyr.