Začněte nyníZačněte zdarma

Paralelní filtrování

Pracuješ jako datový konzultant pro OSN, která chce provést průzkum mezi studenty umění po celém světě. K dispozici mají datovou sadu univerzit s fakultami umění a humanitních věd a rozhodli se pro průzkum vybrat nejlepší umělecké univerzity v každé zemi.

uni_list je seznam datových rámců, přičemž každý prvek obsahuje data z jedné země. Každý datový rámec obsahuje sloupec total_score. K dispozici máš následující funkci:

filter_df <- function (df, select_n_unis) {
  df %>% 
    top_n(select_n_unis, total_score)
}

Tato funkce vyžaduje dplyr. Argument select_n_unis určuje počet nejlepších univerzit, které se mají vybrat. Tvým úkolem je paralelně vyfiltrovat pět nejlepších univerzit z každého CSV souboru. Balíček parallel je již načtený.

Toto cvičení je součástí kurzu

Paralelní programování v R

Zobrazit kurz

Pokyny k cvičení

  • Načti dplyr na každém jádře v clusteru cl.
  • Exportuj proměnnou n_unis do clusteru cl.
  • Aplikuj funkci filter_df() na každý prvek seznamu uni_list pomocí parLapply().
  • Předej počet univerzit k výběru, n_unis, správnému argumentu funkce filter_df().

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

cl <- makeCluster(4)
# Load dplyr in cluster
___

n_unis <- 5
# Export n_unis to cluster
___(___, ___, envir = environment())
# Apply filter_df() to each element of uni_list
ls_df <- parLapply(___, ___, ___,
                   # Supply number of universities to select
                   ___ = ___)
stopCluster(cl)
Upravit a spustit kód