Dalam sintaksis R, fungsi @
dan slot()
digunakan untuk mengekstrak atau mengganti slot-slot yang secara formal ditentukan dalam definisi class-nya. Dengan demikian, fungsi ini dapat membantu pengembang untuk mengelola objek berbasis class yang memiliki atribut-atribut khusus.
Menggunakan Fungsi @
Fungsi @
digunakan untuk mengekstrak atau mengganti slot-slot dalam objek. Contoh, jika kita memiliki objek myTrack
dari class "track" dengan atribut x
dan y
, maka kita dapat menggunakan sintaks berikut:
setClass("track", slots = c(x="numeric", y="numeric"))
myTrack <- new("track", x = -4:4, y = exp(-4:4))
slot(myTrack, "x")
Dalam contoh di atas, fungsi @
digunakan untuk mengekstrak atribut x
dari objek myTrack
.
Menggunakan Fungsi slot()
Fungsi slot()
juga dapat digunakan untuk mengekstrak atau mengganti slot-slot dalam objek. Contoh, kita dapat menggunakan sintaks berikut:
setClass("track", slots = c(x="numeric", y="numeric"))
myTrack <- new("track", x = -4:4, y = exp(-4:4))
slot(myTrack, "y") <- log(slot(myTrack, "y"))
Dalam contoh di atas, fungsi slot()
digunakan untuk mengganti atribut y
dari objek myTrack
.
Menggunakan Fungsi slotNames()
Fungsi slotNames()
digunakan untuk mengetahui nama-nama slot yang tersedia dalam class-nya. Contoh, kita dapat menggunakan sintaks berikut:
setClass("track", slots = c(x="numeric", y="numeric"))
myTrack <- new("track", x = -4:4, y = exp(-4:4))
slotNames(myTrack)
Dalam contoh di atas, fungsi slotNames()
digunakan untuk mengetahui nama-nama slot yang tersedia dalam class "track".
Contoh Lain
Selain itu, ada beberapa contoh lainnya yang dapat membantu kita untuk lebih memahami cara menggunakan fungsi @
, slot()
, dan slotNames()
di R. Contohnya:
setClass("track", representation(x="numeric", y="numeric"))
myTrack <- new("track", x = -4:4, y = exp(-4:4))
str(myTrack)
Dalam contoh di atas, kita dapat menggunakan sintaks str()
untuk melihat informasi tentang objek myTrack
.
Referensi
Fungsi-fungsi @
, slot()
, dan slotNames()
berdasarkan pada buku "Programming with Data" oleh John M. Chambers (Springer, 1998). Namun, implementasinya dapat berbeda dengan S4 implementation.
Lihat Juga
Untuk informasi lebih lanjut tentang fungsi-fungsi di atas, lihat juga dokumentasi resmi R dan buku-buku lainnya yang terkait.