sapply() vs. lapply()
lapply() sangat berguna, tetapi terkadang Anda menginginkan data keluaran dalam bentuk yang lebih rapi daripada sebuah list. Misalnya, untuk rasio Sharpe, bukankah lebih baik jika nilai rasio Sharpe yang dikembalikan berupa vektor, bukan list? Analisis lanjutan kemungkinan akan menjadi lebih mudah!
Untuk itu, Anda dapat mempertimbangkan sapply(), atau simplify apply. Fungsinya persis seperti lapply(), namun akan berupaya menyederhanakan keluaran jika memungkinkan. Sintaks dasarnya sama, dengan beberapa argumen tambahan:
sapply(X, FUN, ..., simplify = TRUE, USE.NAMES = TRUE)
Argumen opsional tambahan ini memungkinkan Anda menentukan apakah sapply() harus mencoba menyederhanakan keluaran, dan apakah harus menggunakan nama dari objek pada keluaran.
Dalam latihan ini, Anda akan menghitung ulang rasio Sharpe menggunakan sapply() untuk menyederhanakan keluarannya. stock_return dan fungsi sharpe telah tersedia untuk Anda.
Latihan ini adalah bagian dari kursus
R Tingkat Menengah untuk Keuangan
Petunjuk latihan
- Pertama, gunakan
lapply()padastock_returnuntuk memperoleh kembali rasio Sharpe. - Sekarang, gunakan
sapply()padastock_returnuntuk melihat keluaran rasio Sharpe yang sudah disederhanakan. - Gunakan
sapply()padastock_returnuntuk memperoleh rasio Sharpe dengan argumensimplify = FALSEdanUSE.NAMES = FALSE. Ini setara denganlapply()!
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# lapply() on stock_return
___
# sapply() on stock_return
___
# sapply() on stock_return with optional arguments
___