Maak een functie
In de vorige oefening heb je gezien hoe je safely() kunt gebruiken om niet-bereikbare urls te herkennen: we schreven een klein proces dat een veilige versie van read_lines() aanriep en een lijst met $errors teruggaf.
In deze oefening pakken we het anders aan, omdat we ons niet alleen op errors richten. In plaats van een veilige functie te mappen en de elementen "error" uit de resultaten te halen, schrijven we een helperfunctie die meteen de NULL-elementen uit de output van safe_read() discard().
Zo kunnen we, in plaats van het $error- of $result-deel van de output te extraheren, zien of de elementen bereikbaar zijn (de inhoud staat dan in $results) of niet (dan staat de foutmelding in $error).
De vector urls is al voor je klaargezet.
Deze oefening maakt deel uit van de cursus
Gevorderd functioneel programmeren met purrr
Oefeninstructies
Maak een veilige versie van
read_lines().Maak een functie
safe_read_discard()die de veilige versie vanread_lines()uitvoert en deNULL-elementendiscard().Map deze functie op de lijst met urls die voor je is klaargezet.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Create a safe version of read_lines()
safe_read <- ___
# Code a function that discard() the NULL from safe_read()
safe_read_discard <- function(url){
___(___) %>%
___(is.null)
}
# Map this function on the url list
res <- ___(urls, ___)