Zacznij terazZacznij za darmo

Utwórz funkcję

W poprzednim ćwiczeniu zobaczyłeś, jak używać safely() do identyfikowania niedostępnych adresów URL: napisaliśmy prosty proces, który wywoływał bezpieczną wersję read_lines() i zwracał listę $errors.

W tym ćwiczeniu wypróbujemy inne podejście – tym razem nie skupiamy się wyłącznie na błędach. Zamiast mapować bezpieczną funkcję i wyodrębniać elementy "error" z wyników, napiszemy funkcję pomocniczą, która od razu zastosuje discard() na elementach NULL zwracanych przez safe_read().

Dzięki temu, zamiast ręcznie wyodrębniać część $error lub $result z wyniku, od razu sprawdzisz, czy elementy są dostępne (zawartość zwracana jest w $results) czy nie (wówczas błąd pojawia się w $error).

Wektor urls jest już dla ciebie przygotowany.

To ćwiczenie jest częścią kursu

Funkcyjne programowanie średnio zaawansowane z purrr

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz bezpieczną wersję read_lines().

  • Utwórz funkcję o nazwie safe_read_discard(), która uruchomi bezpieczną wersję read_lines() i zastosuje discard() na elementach NULL.

  • Zamapuj tę funkcję na dostarczoną listę adresów URL.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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, ___)
Edytuj i uruchom kod