typestar

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

  1. rowwise es la salida de emergencia cuando la vectorización no alcanza.
  2. c_across reúne varias columnas para una fila.
  3. pmap de 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.

Escribe este fragmento

Paso 2 de 3 en Ventanas y filas; paso 19 de 27 en dplyr.

← Anterior Siguiente →