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
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 deread_lines()et appliqueradiscard()pour retirer les élémentsNULL.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, ___)