Gagal menyederhanakan
Untuk penggunaan interaktif, sapply() sangat berguna. Fungsi ini menebak tipe keluaran agar dapat menyederhanakan, dan biasanya itu baik-baik saja. Namun, sapply() bukan opsi yang aman digunakan saat menulis fungsi. Jika sapply() tidak dapat menyederhanakan keluaran Anda, maka ia akan kembali ke nilai bawaan berupa list seperti lapply(). Hal ini bisa berbahaya dan merusak fungsi kustom jika Anda menuliskannya dengan asumsi sapply() akan mengembalikan vektor yang sudah disederhanakan.
Mari kita lihat sebuah latihan menggunakan list yang berisi informasi tentang kejatuhan pasar saham tahun 2008.
Latihan ini merupakan bagian dari kursus
R Tingkat Menengah untuk Keuangan
Instruksi latihan
List market_crash telah dibuat untuk Anda.
- Gunakan
sapply()untuk mendapatkanclass()dari setiap elemen dalammarket_crash.
Sebuah list baru, market_crash2, telah dibuat. Perbedaannya ada pada pembuatan tanggal!
- Gunakan
lapply()untuk mendapatkanclass()dari setiap elemen dalammarket_crash2. - Gunakan
sapply()untuk mendapatkanclass()dari setiap elemen dalammarket_crash2.
date di market_crash2 memiliki beberapa kelas. Mengapa sapply() tidak dapat menyederhanakannya?
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# Market crash with as.Date()
market_crash <- list(dow_jones_drop = 777.68,
date = as.Date("2008-09-28"))
# Find the classes with sapply()
___
# Market crash with as.POSIXct()
market_crash2 <- list(dow_jones_drop = 777.68,
date = as.POSIXct("2008-09-28"))
# Find the classes with lapply()
___
# Find the classes with sapply()
___