Aan de slagGa gratis aan de slag

foreach met variabelen en packages

De snelheid waarmee een bevolking groeit, heet het groeipercentage en wordt uitgedrukt als percentage. Bijna elk land ziet een daling in het groeipercentage, maar sommige gaan sneller achteruit dan andere.

Je bent aangenomen als Demografisch Analist en je taak is om de verhouding te berekenen tussen het groeipercentage van een land en het wereldwijde groeipercentage voor de jaren 2017 tot en met 2021. Je hebt een lijst met dataframes, ls_df, elk is een dataframe zoals dit:

    country year growth_rate
Afghanistan 2017        2.52
...

Je hebt ook een wereldwijd groeidataframe, df_global:

year global_growth
2017          1.15
...

foreach en dplyr zijn voor je geladen. De cluster is al aangemaakt en geregistreerd bij de foreach-backend.

Deze oefening maakt deel uit van de cursus

Parallel programmeren in R

Cursus bekijken

Oefeninstructies

  • Exporteer df_global naar de cluster binnen de aanroep van foreach().
  • Geef het dplyr-pakket op dat nodig is voor de berekening.
  • Gebruik rbind als de combineermethode.
  • Gebruik de parallelle operator.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

df_comp <- foreach(df = ls_df,
                   # Export variable
                   ___,
                   # Specify any package needed
                   ___,
                   # Specify a combine method 
                   ___
                   # Use the parallel operator
                  ) ___ {
    df %>%
      left_join(df_global, "year") %>% 
      mutate(comp = growth_rate/global_growth)
}

stopCluster(cl)
Code bewerken en uitvoeren