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 merupakan bagian dari kursus
Pengantar Penulisan Fungsi di R
Instruksi 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 langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
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
___