Pergunta

Em pacotes, como o marray e limma, quando objetos complexos são carregados, eles contêm membros "variáveis", que são acessados usando-se o símbolo@.O que isso significa e como ela difere do símbolo$?

Foi útil?

Solução

Ver ?'@':

  • Descrição:

    Extrair o conteúdo de um slot em um objeto com um formal (S4) estrutura de classe.

  • Uso:

    object@name

    ...


A linguagem S foi objeto de dois sistemas, conhecido informalmente como S3 e S4.

  • S3 objetos, classes e métodos disponíveis no R desde o início, eles são informais, mas muito interativo.S3 foi descrita pela primeira vez no Livro Branco (Modelos estatísticos em S).
  • S3 não é um verdadeiro sistema de classe, que na maior parte é um conjunto de nomenclatura convenções.
  • S4 objetos, classes e métodos são muito mais formais e rigoroso, daí menos interativo.S4 foi descrita pela primeira vez no Livro Verde (Programação com os Dados).No R é disponível através do methods pacote, ligado por padrão desde a versão 1.7.0.

Veja também este documento: S4 Classes e Métodos.

Outras dicas

Como outros têm dito, o símbolo @ é utilizado com o S4 classes, mas aqui está uma nota de O Google I Guia de Estilo:"Usar S3 objetos e métodos, a menos que haja um forte motivo para usar S4 objetos ou métodos."

Você vai querer ler sobre S4 classes que usam o símbolo de@.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top