R: what are Slots?

后端 未结 4 1936
别那么骄傲
别那么骄傲 2021-01-30 02:49

Does anyone know what a slot is in R?

I did not find the explanation of its meaning. I get a recursive definition: \"Slot function returns or set information about the

4条回答
  •  悲哀的现实
    2021-01-30 03:39

    Slots are linked to S4 objects. A slot can be seen as a part, element or a "property" of an object. Say you have a car object, then you can have the slots "price", "number of doors", "type of engine", "mileage".

    Internally, that is represented a list. An example :

    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
    

    Here, price, numberDoors, typeEngine and mileage are slots of the S4 class "Car". This is a trivial example, in reality slots themselves can be again complex objects.

    Slots can be accessed in numerous ways :

    > aCar@price
    [1] 20000
    > slot(aCar,"typeEngine")
    [1] "V6"    
    

    or through the construction of a specific method (see extra documentation).

    For more on S4 programming see this question. If the concept still sounds vague to you, a general introduction in Object Oriented Programming could help.

    PS: Mind the difference with dataframes and lists, where you use $ to access named variables/elements.

提交回复
热议问题