老虎机是什么?

有人知道 R 是什么吗?

我没有找到对其含义的解释,我得到了一个递归定义: “ Slot 函数返回或设置关于对象各个槽的信息”

我们会感激你的帮助, 谢谢 小巷

35632 次浏览

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.

In addition to the resources @Joris points you to, plus his own answer, try reading ?Classes, which includes the following on slots:

 Slots:


The data contained in an object from an S4 class is defined
by the _slots_ in the class definition.


Each slot in an object is a component of the object; like
components (that is, elements) of a list, these may be
extracted and set, using the function ‘slot()’ or more often
the operator ‘"@"’.  However, they differ from list
components in important ways.  First, slots can only be
referred to by name, not by position, and there is no partial
matching of names as with list elements.
....

Just as names(variable) lists up all the $-accessible names of a complex variable, so too

slotNames(object) lists all the slots of an object.

Very handy to discover what goodies your fit-object contains for your viewing pleasure.

No idea why R has to redefine everything. Most normal programming languages call them "properties" or "attributes".