1. Nauka
  2. /
  3. Kursy
  4. /
  5. Programowanie równoległe w R

Connected

ćwiczenie

Równoległe filtrowanie

Pracujesz jako konsultant ds. danych dla Organizacji Narodów Zjednoczonych, która chce przeprowadzić ankietę wśród studentów kierunków artystycznych na całym świecie. ONZ zebrała zbiór danych o uczelniach posiadających wydziały sztuki i nauk humanistycznych, a następnie zdecydowała, że do ankiety zostaną wybrane najlepsze uczelnie artystyczne z każdego kraju.

uni_list to lista ramek danych – każdy element zawiera dane z jednego kraju. Każda ramka danych zawiera kolumnę total_score. Do dyspozycji masz następującą funkcję:

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

Funkcja ta wymaga biblioteki dplyr. Argument select_n_unis określa liczbę najlepszych uczelni do wybrania. Twoim zadaniem jest równoległe odfiltrowanie pięciu najlepszych uczelni z każdego pliku CSV. Pakiet parallel jest już wczytany.

Instrukcje

100 XP
  • Wczytaj dplyr na każdym rdzeniu klastra cl.
  • Wyeksportuj zmienną n_unis do klastra cl.
  • Zastosuj funkcję filter_df() do każdego elementu listy uni_list, używając parLapply().
  • Przekaż liczbę uczelni do wybrania, n_unis, do odpowiedniego argumentu funkcji filter_df().