Zacznij terazZacznij za darmo

Finansowanie nauk społecznych z użyciem futures

Pracujesz w fundacji filantropijnej. Fundacja przyznaje granty badawcze uczelniom, których ocena badań w dziedzinie nauk społecznych należy do najwyższego jednego procenta w danym kraju. Dlatego co roku wyznaczana jest wartość progowa dla tej oceny.

W swoim środowisku masz dostępną listę rating_list. Każdy jej element zawiera oceny badań dla uczelni z danego kraju. Dostępna jest też funkcja generate_cutoff_future(), która tworzy future do obliczenia wartości progowej. Twój menedżer nie jest jednak do końca przekonany co do zalet futures w porównaniu z innymi metodami zrównoleglania. Musisz pokazać, że futures umożliwiają zarówno sekwencyjne, jak i równoległe wykonanie – bez żadnych zmian w samym kodzie. Pakiet future jest już wczytany.

To ćwiczenie jest częścią kursu

Programowanie równoległe w R

Zobacz kurs

Instrukcje do ćwiczenia

  • Wygeneruj futures sekwencyjne, stosując generate_cutoff_future() do rating_list za pomocą lapply() w ramach planu sekwencyjnego.
  • Wyodrębnij wartości sekwencyjnych futures.
  • Wygeneruj futures równoległe w ramach planu równoległego.
  • Wyodrębnij wartości równoległych futures.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

plan(sequential)
# Create futures under sequential plan
seq_futures <- ___(___, ___)
# Extract values of sequential futures
seq_values <- ___(___)

plan(multisession, workers = 4)
# Create futures under multisession plan
par_futures <- ___(___, ___)
# Extract values of parallel futures
par_values <- ___(___)
               
plan(sequential)

cbind(seq_values, par_values)
Edytuj i uruchom kod