MulaiMulai sekarang secara gratis

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

Lihat Kursus

Petunjuk latihan

  • Buat versi aman dari read_lines().

  • Buat fungsi bernama safe_read_discard() yang akan menjalankan versi aman read_lines() dan melakukan discard() pada elemen NULL.

  • 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, ___)
Edit dan Jalankan Kode