2009-12-15 4 views
26

В таких пакетах, как marray и limma, когда загружаются сложные объекты, они содержат переменные-члены, к которым обращаются с помощью символа @. Что это значит и как оно отличается от символа $?Что означает символ @ в R?

ответ

27

См ?'@':

  • Описание:

    Извлеките содержимое слота в объекте с формальной структурой класса (S4), .

  • Использование:

    [email protected]

    ...


Язык S имеет два объекта системы, известные неофициально как S3 и S4.

  • S3 объекты, классы и методы были доступны в R с самого начала, они носят неформальный характер, но очень интерактивный. S3 был впервые описан в Белая книга (Статистические модели на S).
  • S3 не является настоящей системой классов, это в основном набор имен конвенций.
  • Объекты, классы и методы S4 гораздо более формальны и строгий, следовательно less interactive. S4 был впервые описан в книге Зеленая книга (Программирование с данными). В R это , доступный через пакет methods, прилагаемый по умолчанию с версии 1.7.0.

См. Также этот документ: S4 Classes and Methods.

5

Вы хотите прочитать на классах S4, которые используют символ @.

8

Как уже отмечалось, символ @ используется с классами S4, но вот примечание от Google's R Style Guide: «Используйте объекты и методы S3, если нет веских оснований для использования объектов или методов S4».

+0

хорошая ссылка ... +1 – pufferfish

Смежные вопросы