Вопрос

Кто -нибудь знает, какой слот в 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: Имейте в виду разницу с DataFrames и списками, где вы используете $ Чтобы получить доступ к названным переменным/элементам.

Другие советы

Как только names(variable) перечисляет все $-Проспорт и названия сложной переменной, так же как и

slotNames(object) перечисляет все слоты объекта.

Очень удобно обнаружить, какие вкусности содержит ваш Fit-объект для вашего удовольствия от просмотра.

В дополнение к ресурсам @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 должен все переопределить. Большинство нормальных языков программирования называют их «свойствами» или «атрибутами».

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top