IniziaInizia gratis

Crea una funzione

Nel precedente esercizio abbiamo visto come usare safely() per individuare gli url non raggiungibili: abbiamo scritto un piccolo processo che chiamava una versione sicura di read_lines() e restituiva una lista di $errors.

In questo esercizio proveremo un approccio diverso, perché non ci concentreremo solo sugli errori. Invece di mappare una funzione sicura ed estrarre gli elementi "error" dai risultati, scriveremo una funzione di supporto che discard()erà immediatamente gli elementi NULL dell'output di safe_read().

In questo modo, invece di estrarre la parte $error o $result dell'output, potremo capire se gli elementi sono raggiungibili (il contenuto è restituito in $results) o se non lo sono (in tal caso l'errore è restituito in $error).

Il vettore urls è già stato fornito.

Questo esercizio fa parte del corso

Programmazione funzionale intermedia con purrr

Visualizza il corso

Istruzioni dell'esercizio

  • Crea una versione sicura di read_lines().

  • Crea una funzione chiamata safe_read_discard() che esegua la versione sicura di read_lines() e discard() i valori NULL.

  • Applica (map) questa funzione alla lista di url che ti è stata fornita.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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, ___)
Modifica ed esegui il codice