Кто-нибудь знает, что такое слот в R?
Объяснения его значения я не нашел. Я получаю рекурсивное определение: «Функция слота возвращает или устанавливает информацию об отдельных слотах объектов»
Помощь будет оценена по достоинству, Спасибо - Alley
Кто-нибудь знает, что такое слот в R?
Объяснения его значения я не нашел. Я получаю рекурсивное определение: «Функция слота возвращает или устанавливает информацию об отдельных слотах объектов»
Помощь будет оценена по достоинству, Спасибо - Alley
Слоты связаны с объектами 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
Здесь цена, количество дверей, тип двигателя и пробег слоты Автомобиля класса S4. Это тривиальный пример, в реальности сами слоты могут быть опять же сложными объектами.
Доступ к слотам можно получить разными способами:
> aCar@price
[1] 20000
> slot(aCar,"typeEngine")
[1] "V6"
или путем построения определенного метода (см. дополнительную документацию).
Дополнительные сведения о программировании S4 см. в этом вопросе. Если эта концепция все еще кажется вам расплывчатой, может помочь общее введение в объектно-ориентированное программирование.
PS: обратите внимание на разницу с фреймами данных и списками, где вы используете $
для доступа к именованным переменным/элементам.
slot(aCar, "price")
просто как другое использование, особенно когда оператор смотрел на функцию slot()
- person Gavin Simpson; 17.01.2011
getSlots()
или slotNames()
.
- person Laurent; 19.01.2011
Точно так же, как names(variable)
перечисляет все $
доступные имена сложной переменной, так и
slotNames(object)
перечисляет все слоты объекта.
Очень удобно, чтобы узнать, какие вкусности содержит ваш фит-объект для вашего удовольствия от просмотра.
В дополнение к ресурсам, на которые указывает @Joris, а также его собственному ответу, попробуйте прочитать ?Classes
, который включает в себя следующее о слотах:
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.
....
Понятия не имею, почему R должен все переопределять. Большинство обычных языков программирования называют их «свойствами» или «атрибутами».
slot()
- она не предназначена для документирования того, что такое слот, а только для того, как получить к ним доступ. - person Gavin Simpson   schedule 17.01.2011