Slots có liên quan đến đối tượng S4. Một khe có thể được xem như là một phần, phần tử hoặc một "thuộc tính" của một đối tượng. Giả sử bạn có một đối tượng ô tô, sau đó bạn có thể có các khe "giá", "số cửa", "loại động cơ", "số dặm".
Nội bộ, được thể hiện một danh sách. Một ví dụ:
setClass("Car",representation=representation(
price = "numeric",
numberDoors="numeric",
typeEngine="character",
mileage="numeric"
))
aCar <- new("Car",price=20000,numberDoors=4,typeEngine="V6",mileage=143)
> aCar
An object of class "Car"
Slot "price":
[1] 20000
Slot "numberDoors":
[1] 4
Slot "typeEngine":
[1] "V6"
Slot "mileage":
[1] 143
Ở đây, giá cả, numberDoors, typeEngine và mileage là khe của lớp S4 "Car". Đây là một ví dụ tầm thường, trong các khe thực tế, bản thân chúng có thể là một đối tượng phức tạp.
Slots có thể được truy cập trong nhiều cách:
> [email protected]
[1] 20000
> slot(aCar,"typeEngine")
[1] "V6"
hoặc thông qua việc xây dựng một phương pháp cụ thể (xem thêm tài liệu).
Để biết thêm về chương trình S4, hãy xem this question. Nếu khái niệm vẫn còn âm thanh mơ hồ với bạn, một giới thiệu chung trong lập trình hướng đối tượng có thể giúp đỡ.
PS: Lưu ý sự khác biệt với các khung dữ liệu và danh sách, nơi bạn sử dụng $
để truy cập các biến/yếu tố được đặt tên.
Đó là từ sự trợ giúp về hàm 'slot()' - nó không có nghĩa là ghi lại một khe là gì, chỉ cách truy cập chúng. –