What does the @ symbol mean in R?

前端 未结 3 1360
故里飘歌
故里飘歌 2020-12-02 20:04

In packages like marray and limma, when complex objects are loaded, they contain \"members variables\" that are accessed using the @ symbol. What does this mean and how does

相关标签:
3条回答
  • 2020-12-02 20:43

    See ?'@':

    • Description:

      Extract the contents of a slot in a object with a formal (S4) class structure.

    • Usage:

      object@name

      ...


    The S language has two object systems, known informally as S3 and S4.

    • S3 objects, classes and methods have been available in R from the beginning, they are informal, yet very interactive. S3 was first described in the White Book (Statistical Models in S).
    • S3 is not a real class system, it mostly is a set of naming conventions.
    • S4 objects, classes and methods are much more formal and rigorous, hence less interactive. S4 was first described in the Green Book (Programming with Data). In R it is available through the methods package, attached by default since version 1.7.0.

    See also this document: S4 Classes and Methods.

    0 讨论(0)
  • 2020-12-02 21:01

    You will want to read up on S4 classes which use the @ symbol.

    0 讨论(0)
  • 2020-12-02 21:02

    As the others have said, the @ symbol is used with S4 classes, but here is a note from Google's R Style Guide: "Use S3 objects and methods unless there is a strong reason to use S4 objects or methods."

    0 讨论(0)
提交回复
热议问题