ÎncepețiÎncepe gratuit

Rezultate reproductibile la loterie

Lucrezi ca programator pentru o loterie online. Prin lege, câștigătorii trebuie selectați aleatoriu, iar procesul de selecție trebuie să fie transparent.

În spațiul tău de lucru ai o listă de bilete de loterie, ls_tickets. Lista conține 51 de elemente — câte unul pentru fiecare stat din SUA. Fiecare element conține numerele biletelor de loterie aferente statului respectiv. De asemenea, ai la dispoziție o funcție, lottery(), care selectează aleatoriu biletul câștigător pentru fiecare stat. Testezi funcția lottery() aplicând-o pe ls_tickets în paralel, folosind future_map(). Problema este că de fiecare dată când rulezi codul, câștigătorii sunt diferiți. Pachetul furrr a fost deja încărcat pentru tine.

Acest exercițiu face parte din cursul

Programare paralelă în R

Vezi cursul

Instrucțiuni pentru exercițiu

  • Creează o configurație pentru future_map().
  • Setează seed-ul la valoarea 4321 în configurație.
  • Furnizează această configurație funcției future_map().

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

lottery <- function(tickets) {
  sample(tickets, 1)
}

# Create a configuration for future_map()
config <- ___(
# Provide the seed 4321 to the correct argument   
  ___ = ___)

plan(multisession, workers = 4)
winners <- future_map(ls_tickets, lottery,
                      # Supply configuration to future_map()
                      ___ = ___)

plan(sequential)
Editează și rulează codul