Вопрос

В таких пакетах, как Маррей и лимма, Когда сложные объекты загружаются, они содержат «переменные элементов», которые доступны с использованием символа @. Что это значит и чем он отличается от символа $?

Это было полезно?

Решение

Видеть ?'@':

  • Описание:

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

  • Применение:

    object@name

    ...


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

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

Смотрите также этот документ: S4 классы и методы.

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

Как сказали другие, символ @ используется с классами S4, но вот примечание от Руководство по стилю Google R: «Используйте объекты и методы S3, если нет веской причины для использования объектов или методов S4».

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

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