Menerapkan fungsi yang mengembalikan NULL
Pada semua latihan sebelumnya, diasumsikan bahwa fungsi-fungsi yang diterapkan pada vektor dan list benar-benar mengembalikan hasil yang bermakna. Sebagai contoh, fungsi tolower() hanya mengembalikan string dengan karakter dalam huruf kecil. Ini tidak selalu demikian. Misalkan Anda ingin menampilkan struktur setiap elemen dari sebuah list. Anda dapat menggunakan fungsi str() untuk itu, yang mengembalikan NULL:
lapply(list(1, "a", TRUE), str)
Pemanggilan ini sebenarnya mengembalikan sebuah list, berukuran sama dengan list masukan, yang berisi semua nilai NULL. Di sisi lain, memanggil
str(TRUE)
secara terpisah hanya mencetak struktur nilai logika tersebut ke konsol, bukan NULL. Ini karena str() menggunakan invisible() di balik layar, yang mengembalikan salinan tak terlihat dari nilai kembalian, dalam hal ini NULL. Hal ini mencegahnya dicetak ketika hasil str() tidak ditetapkan ke sebuah variabel.
Apa yang akan dikembalikan potongan kode berikut (split_low sudah tersedia di workspace)? Cobalah menalar hasilnya sebelum langsung mengeksekusinya di konsol!
lapply(split_low, function(x) {
if (nchar(x[1]) > 5) {
return(NULL)
} else {
return(x[2])
}
})
Latihan ini adalah bagian dari kursus
R Tingkat Menengah
Latihan interaktif praktis
Ubah teori menjadi tindakan dengan salah satu latihan interaktif kami.
Mulai berolahraga