CommencezCommencez gratuitement

Tout en un seul appel

Pour rendre ce code encore plus reproductible, nous allons créer une fonction qui fait tout en un seul appel. Nous vous avons déjà fourni une structure de base pour cette fonction, à vous de la compléter!

Dans les exercices précédents, nous avons découpé le processus en plusieurs étapes. Maintenant, nous voulons que tout se fasse en un seul appel : nous allons donc écrire une fonction qui prend une liste d'URL et retourne les noms des éléments qui ne sont pas accessibles.

Une fois cette fonction écrite, vous pourrez l'enregistrer et la réutiliser dès que vous aurez besoin de nettoyer une liste d'URL. Et pourquoi pas l'intégrer dans un paquet ;)

La liste urls de l'exercice précédent est disponible dans votre espace de travail.

Cette activité fait partie du cours

Programmation fonctionnelle intermédiaire avec purrr

Voir le cours

Instructions de l’exercice

  • Créez, à l'intérieur de l'appel à map(), une version possibly() de read_lines() qui retournera autrement un 404.

  • Attribuez des noms à la sortie.

  • Utilisez la fonction paste() avec l'argument collapse défini à " " pour transformer chaque sous-liste en vecteur de caractères.

  • Retirez les éléments qui sont égaux à 404.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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)
Modifier et exécuter le code