CommencezCommencez gratuitement

Créer une fonction

Nous avons vu comment utiliser safely() pour repérer les URL inaccessibles dans l'exercice précédent : nous avons écrit un petit processus qui appelait une version sécurisée de read_lines() et renvoyait une liste de $errors.

Dans cet exercice, nous allons essayer une autre approche, car nous ne nous concentrerons pas uniquement sur les erreurs. Plutôt que d'appliquer une fonction sécurisée et d'extraire les éléments "error" des résultats, nous allons écrire une fonction utilitaire qui va immédiatement discard() les éléments NULL de la sortie de safe_read().

De cette façon, au lieu d'extraire la partie $error ou $result de la sortie, nous pourrons savoir si les éléments sont accessibles (le contenu est renvoyé dans $results) ou non (dans ce cas, l'erreur est renvoyée dans $error).

Le vecteur urls vous est fourni.

Cette activité fait partie du cours

Programmation fonctionnelle intermédiaire avec purrr

Voir le cours

Instructions de l’exercice

  • Créez une version sécurisée de read_lines().

  • Créez une fonction appelée safe_read_discard() qui exécutera la version sécurisée de read_lines() et appliquera discard() pour retirer les éléments NULL.

  • Appliquez cette fonction à la liste d'URL qui vous est fournie.

Exercice interactif pratique

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

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