LoslegenKostenlos loslegen

future_map-Ergebnisse zeilenweise binden

Du arbeitest für eine Studienberatungsfirma, die Bewerberinnen und Bewerbern im Ausland US-Universitäten empfiehlt. Du hast einen Universitäts-Ranking-Datensatz beschafft, der eine Spalte score für Forschung, Zitationen usw. für verschiedene Universitäten enthält.

Die Team-Statistikerin hat eine Funktion calc_quants() geschrieben, die dir zur Verfügung steht. Diese Funktion berechnet einen Bereich für die Werte einer gegebenen Universität. Sie nimmt zwei Argumente entgegen: 1) einen Data Frame mit der Spalte score und 2) die interessierenden Quantilwerte q_values. Die interessierenden Quantile stehen dir als Variable my_q_values zur Verfügung.

my_q_values <- c(0.025, 0.975)

Du sollst diese Funktion parallel auf die Daten jeder Universität anwenden.

furrr und tidyverse sind für dich geladen.

Diese Übung ist Teil des Kurses

Paralleles Programmieren in R

Kurs anzeigen

Anleitung zur Übung

  • Erstelle eine Konfiguration, die my_q_values als globale Variable festlegt, die alle Worker benötigen.
  • Teile den Data Frame uni_data nach university_name auf.
  • Wende calc_quants() auf die Scores jeder Universität an und nutze die passende future_map()-Variante, um die Ergebnisse zeilenweise zu binden.
  • Gib die Werte für q_values und die Konfiguration für .options an.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

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)
Code bearbeiten und ausführen