EmpezarEmpieza gratis

Crea una función

En el ejercicio anterior vimos cómo usar safely() para identificar URLs no accesibles: escribimos un pequeño proceso que llamaba a una versión segura de read_lines() y devolvía una lista de $errors.

En este ejercicio probaremos otro enfoque, porque no nos centraremos solo en los errores. En lugar de mapear una función segura y extraer los elementos "error" de los resultados, escribiremos una función auxiliar que discard() eliminará inmediatamente los elementos NULL de la salida de safe_read().

Así, en vez de extraer la parte $error o $result de la salida, podremos saber si los elementos son accesibles (el contenido se devuelve en $results) o si no lo son (entonces el error se devuelve en $error).

Se te ha proporcionado el vector urls.

Este ejercicio forma parte del curso

Programación funcional intermedia con purrr

Ver curso

Instrucciones del ejercicio

  • Crea una versión segura de read_lines().

  • Crea una función llamada safe_read_discard() que ejecute la versión segura de read_lines() y aplique discard() a los elementos NULL.

  • Aplica esta función a la lista de URLs que se te ha proporcionado.

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

# 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, ___)
Editar y ejecutar código