oop - s3方法 - setrefclass




R:什麼是老虎機? (2)

插槽鏈接到S4對象。 槽可以被視為對象的一部分,元素或“屬性”。 假設你有一個汽車對象,那麼你可以擁有“價格”,“門數”,“發動機類型”,“里程”等插槽。

在內部,它代表一個列表。 一個例子 :

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

這裡,價格,numberDoors,typeEngine和里程是S4類“Car”的插槽。 這是一個簡單的例子,實際上插槽本身可以是複雜的對象。

可以通過多種方式訪問插槽:

> [email protected]
[1] 20000
> slot(aCar,"typeEngine")
[1] "V6"    

或通過構建特定方法(參見額外文檔)。

有關S4編程的更多信息,請參閱此問題 。 如果這個概念對你來說仍然含糊不清,那麼面向對象編程的一般性介紹可能有所幫助。

PS:注意與數據框和列表的區別,在這裡您使用$來訪問命名變量/元素。

有誰知道R中的插槽是什麼?

我沒有找到其含義的解釋。 我得到一個遞歸定義:“Slot函數返回或設置有關對象的各個槽的信息”

感謝幫助,謝謝 - 胡同


正如names(variable)列出複雜變量的所有$ -accessible名稱一樣

slotNames(object)列出了對象的所有槽。

非常方便地發現您的健康物品包含哪些好東西,以便您的觀賞樂趣。





r-faq