Totul într-un singur apel
Pentru a face acest cod și mai reutilizabil, vom crea o funcție care realizează totul dintr-un singur apel. Ți-am pregătit deja un schelet pentru această funcție – acum e rândul tău să o completezi!
În exercițiile anterioare, am scris procesul în mai mulți pași. Acum vrem să facem totul dintr-un singur apel: vom scrie o funcție care primește o listă de URL-uri și returnează numele elementelor care nu sunt accesibile.
Odată ce ai scris această funcție, o poți salva și reutiliza ori de câte ori ai nevoie să curești o listă de URL-uri. Poate chiar o incluzi într-un pachet ;)
Lista urls din exercițiul anterior este disponibilă în spațiul tău de lucru.
Acest exercițiu face parte din cursul
Programare funcțională intermediară cu purrr
Instrucțiuni pentru exercițiu
Creează, în interiorul apelului
map(), o versiunepossibly()a funcțieiread_lines(), care să returneze404în caz de eroare.Setează numele elementelor din rezultat.
Folosește funcția
paste()cu argumentulcollapsesetat la" "pentru a transforma fiecare sublista într-un vector de caractere.Elimină elementele egale cu 404.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
url_tester <- function(url_list){
url_list %>%
# Map a version of read_lines() that otherwise returns 404
map( ___(___, otherwise = ___) ) %>%
# Set the names of the result
___( urls ) %>%
# paste() and collapse each element
map(___, ___ = " ") %>%
# Remove the 404
___(___) %>%
names() # Will return the names of the good ones
}
# Try this function on the urls object
url_tester(urls)