typestar

purrr básico en R

map devuelve una lista; las variantes tipadas devuelven un vector de ese tipo.

library(purrr)

nums <- list(1:3, 4:6, 7:9)

sums <- map_dbl(nums, sum)
firsts <- map_int(nums, ~ .x[[1]])
labels <- map_chr(nums, ~ paste(.x, collapse = "-"))
nested <- map(nums, ~ .x * 2)

pairs <- map2_dbl(1:3, 4:6, ~ .x * .y)
filtered <- keep(nums, ~ sum(.x) > 10)
total <- reduce(nums, ~ c(.x, .y))

print(sums)
print(firsts)
print(labels)
print(length(filtered))
print(pairs)
print(total)

Cómo funciona

  1. map_dbl y map_int fallan con ruido si el resultado tiene el tipo equivocado.
  2. ~ .x es la lambda abreviada, con .x como el elemento.
  3. keep y reduce cubren filtrar y plegar.

El intento, en números

Líneas
19
Caracteres a escribir
394
Tokens
140
Ritmo de tres estrellas
105 tpm

Al ritmo de tres estrellas de 105 tokens por minuto, este intento toma unos 80 segundos.

Escribe este fragmento

Paso 1 de 4 en purrr; paso 1 de 10 en Herramientas funcionales y de texto.

Siguiente →