Zacznij terazZacznij za darmo

Łączenie wyników future_map() przez wiersze

Pracujesz w firmie doradczej zajmującej się rekrutacją na wyższe uczelnie – pomagasz zagranicznym kandydatom wybrać odpowiedni amerykański uniwersytet. Masz dostęp do zbioru danych z rankingiem uczelni, który zawiera kolumnę score z wynikami poszczególnych uniwersytetów w kategoriach takich jak badania naukowe czy cytowania.

Statystyk z twojego zespołu napisał funkcję calc_quants(), która jest dla ciebie dostępna. Oblicza ona przedział wyników dla danego uniwersytetu. Przyjmuje dwa argumenty: 1) ramkę danych z kolumną score oraz 2) interesujące wartości kwantyli q_values. Wartości kwantyli są dostępne jako zmienna my_q_values.

my_q_values <- c(0.025, 0.975)

Twoim zadaniem jest zastosowanie tej funkcji do danych każdego uniwersytetu równolegle.

Biblioteki furrr i tidyverse są już wczytane.

To ćwiczenie jest częścią kursu

Programowanie równoległe w R

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz konfigurację wskazującą my_q_values jako zmienną globalną wymaganą przez wszystkie węzły robocze.
  • Podziel ramkę danych uni_data według university_name.
  • Zastosuj calc_quants() do wyników każdego uniwersytetu, używając odpowiedniego wariantu future_map(), który łączy wyniki przez wiersze.
  • Podaj wartości dla q_values oraz konfigurację dla .options.

Interaktywne ćwiczenie praktyczne

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

plan(cluster, workers = 6)

# Create a configuration object to export global variables
config <- ___(___ = ___)

uni_data %>%
  # Split the data frame
  ___(___) %>% 
  # Specify the future_map variant and the function to map
  ___(___,
  # Specify values for the q_values argument and configuration for .options
                 q_values = ___,
                 .options = ___,
                 .id = "university")
plan(sequential)
Edytuj i uruchom kod