Buat sebuah fungsi
Kita telah melihat bagaimana kita dapat menggunakan safely() untuk mengidentifikasi url yang tidak dapat dijangkau pada latihan sebelumnya: kita menulis proses kecil yang memanggil versi aman dari read_lines(), dan mengembalikan sebuah list $errors.
Pada latihan ini, kita akan mencoba pendekatan lain karena kita tidak hanya berfokus pada error. Alih-alih memetakan fungsi aman dan mengekstrak elemen "error" dari hasil, kita akan menulis fungsi pembantu yang akan langsung discard() elemen NULL dari keluaran safe_read().
Dengan cara ini, alih-alih mengekstrak bagian $error atau $result dari keluaran, kita akan dapat mengetahui apakah elemen tersebut dapat dijangkau (kontennya dikembalikan dalam $results) atau tidak (maka error dikembalikan dalam $error).
Vektor urls telah disediakan untuk Anda.
Latihan ini adalah bagian dari kursus
Pemrograman Fungsional Tingkat Menengah dengan purrr
Petunjuk latihan
Buat versi aman dari
read_lines().Buat fungsi bernama
safe_read_discard()yang akan menjalankan versi amanread_lines()dan melakukandiscard()pada elemenNULL.Terapkan pemetaan fungsi ini pada daftar url yang telah disediakan untuk Anda.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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, ___)