Finansiera samhällsvetenskap med futures
Du arbetar för en filantropisk stiftelse. Stiftelsen delar ut forskningsanslag till universitet vars samhällsvetenskapliga forskningsbetyg tillhör de översta en procenten i sitt land. Därför beräknas ett gränsvärde för forskningsbetyget varje år.
Du har en lista, rating_list, i din arbetsmiljö. Varje element innehåller forskningsbetyg för universitet i ett land. Du har även tillgång till generate_cutoff_future(). Den här funktionen skapar en future för beräkningen av gränsvärdet. Din chef är dock inte helt övertygad om fördelarna med futures jämfört med andra paralleliseringsmetoder. Du behöver visa att futures möjliggör både sekventiell och parallell körning utan att ändra själva koden. Paketet future har redan laddats åt dig.
Den här övningen är en del av kursen
Parallell programmering i R
Övningsinstruktioner
- Generera sekventiella futures genom att applicera
generate_cutoff_future()pårating_listmedlapply()under en sekventiell plan. - Extrahera värdena från de sekventiella futures.
- Generera parallella futures under en parallell plan.
- Extrahera värdena från de parallella futures.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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)