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
Oefeninstructies
- Gebruik een iterator om regels uit
filepathte 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)