MulaiMulai sekarang secara gratis

Semua dalam satu pemanggilan

Agar kode ini makin mudah direproduksi, kita akan membuat sebuah fungsi yang melakukannya dalam satu kali pemanggilan. Kami sudah menyiapkan kerangka fungsi tersebut; sekarang giliran Anda menyelesaikannya!

Pada latihan sebelumnya, kita menulis prosesnya dalam beberapa langkah. Kini, kita ingin melakukannya hanya dengan satu pemanggilan: kita akan menulis fungsi yang menerima daftar URL, lalu mengembalikan nama elemen yang tidak dapat dijangkau.

Setelah Anda menulis fungsi ini, Anda dapat menyimpannya dan menggunakannya kembali kapan pun Anda perlu membersihkan daftar URL. Dan mungkin memasukkannya ke dalam sebuah paket ;)

Daftar urls dari latihan sebelumnya tersedia di workspace Anda.

Latihan ini adalah bagian dari kursus

Pemrograman Fungsional Tingkat Menengah dengan purrr

Lihat Kursus

Petunjuk latihan

  • Buat, di dalam pemanggilan map(), versi possibly() dari read_lines() yang jika gagal akan mengembalikan 404.

  • Atur nama dari keluaran.

  • Gunakan fungsi paste() dengan argumen collapse diatur ke " " untuk mengubah setiap subdaftar menjadi vektor karakter.

  • Hapus elemen yang sama dengan 404.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

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