Łą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
Instrukcje do ćwiczenia
- Utwórz konfigurację wskazującą
my_q_valuesjako zmienną globalną wymaganą przez wszystkie węzły robocze. - Podziel ramkę danych
uni_datawedługuniversity_name. - Zastosuj
calc_quants()do wyników każdego uniwersytetu, używając odpowiedniego wariantufuture_map(), który łączy wyniki przez wiersze. - Podaj wartości dla
q_valuesoraz 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)