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 merupakan bagian dari kursus
R Tingkat Menengah
Instruksi 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 langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# 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)