Aan de slagGa gratis aan de slag

Alles in één aanroep

Om deze code nog beter reproduceerbaar te maken, gaan we een functie schrijven die alles in één keer doet. We hebben alvast een skelet van deze functie voor je klaargezet; nu is het aan jou om hem af te maken!

In de vorige oefeningen hebben we het proces in meerdere stappen opgeschreven. Nu willen we dit in één enkele aanroep doen: we schrijven een functie die een lijst met URL's accepteert en de namen teruggeeft van de elementen die niet bereikbaar zijn.

Zodra je deze functie hebt geschreven, kun je hem opslaan en hergebruiken wanneer je een lijst met URL's wilt opschonen. En misschien stop je hem wel in een package ;)

De lijst urls uit de vorige oefening is beschikbaar in je werkomgeving.

Deze oefening maakt deel uit van de cursus

Gevorderd functioneel programmeren met purrr

Cursus bekijken

Oefeninstructies

  • Maak, binnen de map()-aanroep, een possibly()-versie van read_lines() die anders 404 teruggeeft.

  • Stel de namen van de output in.

  • Gebruik de functie paste() met het argument collapse ingesteld op " " om elke sublijst om te zetten naar een character-vector.

  • Verwijder de elementen die gelijk zijn aan 404.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

url_tester <- function(url_list){
  url_list %>%
    # Map a version of read_lines() that otherwise returns 404
    map( ___(___, otherwise = ___) ) %>%
    # Set the names of the result
    ___( urls ) %>% 
    # paste() and collapse each element
    map(___, ___ = " ") %>%
    # Remove the 404 
    ___(___) %>%
    names() # Will return the names of the good ones
}

# Try this function on the urls object
url_tester(urls)
Code bewerken en uitvoeren