MulaiMulai sekarang secara gratis

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

Lihat Kursus

Petunjuk latihan

  • Ubah pemanggilan pertama lapply() sehingga menggunakan fungsi anonim yang melakukan hal yang sama.
  • Dengan cara serupa, ubah pemanggilan lapply kedua agar menggunakan versi anonim dari fungsi select_second().
  • Hapus kedua definisi select_first() dan select_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)
Edit dan Jalankan Kode