Aan de slagGa gratis aan de slag

Itereren en filteren

Als data-consultant krijg je data in alle soorten en formaten. Een klant heeft zojuist een CSV-bestand van 40 gigabyte overgezet met gegevens over instellingen voor hoger onderwijs wereldwijd.

De junior analisten kunnen de data niet correct inlezen vanwege een gebrek aan geheugen, en er is geen budget voor de rekenkracht die nodig is om de volledige gegevensset te verwerken. Voor je huidige analyse heb je alleen instellingen in Australië nodig. Het bestandspad van de CSV is al opgeslagen in de variabele filepath. Je bent gevraagd een efficiënte reader voor deze data te implementeren. De pakketten parallel, doParallel, foreach en iterators zijn voor je geladen.

Deze oefening maakt deel uit van de cursus

Parallel programmeren in R

Cursus bekijken

Oefeninstructies

  • Gebruik een iterator om regels uit filepath te lezen.
  • Combineer de resultaten met een geschikte functie tot een data frame.
  • Geef de parallelle operator op.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

cl <- makeCluster(4)
registerDoParallel(cl)
# Use an iterator to read lines
foreach(l = ___,
        # Combine the lines as rows
        ___ = ___
        # Use the parallel operator
        ) ___ {
  line <- strsplit(l, ",")[[1]]
  if (line[4] == "Australia") {
    return(line)
  }
}

stopCluster(cl)
Code bewerken en uitvoeren