Mengembalikan metadata
Terkadang Anda ingin mengembalikan beberapa hal dari sebuah fungsi, tetapi Anda ingin hasilnya memiliki kelas tertentu (misalnya, data frame atau vektor numerik), sehingga mengembalikan list tidak tepat. Ini umum terjadi ketika Anda memiliki hasil beserta metadata tentang hasil tersebut. (Metadata adalah "data tentang data". Misalnya, bisa berupa berkas tempat himpunan data dimuat, atau nama pengguna orang yang membuat variabel, atau jumlah iterasi hingga suatu algoritme konvergen.)
Dalam kasus tersebut, Anda dapat menyimpan metadata dalam atribut. Ingat kembali bahwa sintaks untuk menetapkan atribut adalah sebagai berikut.
attr(object, "attribute_name") <- attribute_value
Latihan ini adalah bagian dari kursus
Pengantar Penulisan Fungsi di R
Petunjuk latihan
- Perbarui
pipeable_plot()agar hasilnya memiliki atribut bernama"formula"dengan nilaiformula. plt_dist_vs_speed, yang sebelumnya Anda buat, ditampilkan. Tinjau struktur terbarunya.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
pipeable_plot <- function(data, formula) {
plot(formula, data)
# Add a "formula" attribute to data
___ <- ___
invisible(data)
}
# From previous exercise
plt_dist_vs_speed <- cars %>%
pipeable_plot(dist ~ speed)
# Examine the structure of the result
___