lapply dan fungsi anonim
Menulis fungsi Anda sendiri lalu menggunakannya di dalam lapply() adalah pencapaian yang bagus! Namun, mendefinisikan fungsi hanya untuk dipakai sekali rasanya berlebihan, bukan? Karena itu Anda dapat menggunakan fungsi anonim di R.
Sebelumnya, Anda telah mempelajari bahwa fungsi di R adalah objek yang berdiri sendiri. Artinya, fungsi tidak otomatis terikat pada sebuah nama. Saat Anda membuat fungsi, Anda dapat menggunakan operator penugasan untuk memberikan nama pada fungsi tersebut. Namun, sama sekali mungkin untuk tidak memberi nama pada fungsi. Ini disebut fungsi anonim:
# Fungsi bernama
triple <- function(x) { 3 * x }
# Fungsi anonim dengan implementasi yang sama
function(x) { 3 * x }
# Gunakan fungsi anonim di dalam lapply()
lapply(list(1,2,3), function(x) { 3 * x })
split_low sudah didefinisikan untuk Anda.
Latihan ini adalah bagian dari kursus
R Tingkat Menengah
Petunjuk latihan
- Ubah pemanggilan pertama
lapply()sehingga menggunakan fungsi anonim yang melakukan hal yang sama. - Dengan cara serupa, ubah pemanggilan
lapplykedua agar menggunakan versi anonim dari fungsiselect_second(). - Hapus kedua definisi
select_first()danselect_second(), karena keduanya tidak lagi diperlukan.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# split_low has been created for you
split_low
# Transform: use anonymous function inside lapply
select_first <- function(x) {
x[1]
}
names <- lapply(split_low, select_first)
# Transform: use anonymous function inside lapply
select_second <- function(x) {
x[2]
}
years <- lapply(split_low, select_second)