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 it differ from the $ symbol?
Generally speaking, the $ operator is used to extract or subset a specific part of a data object in R. For instance, this can be a data frame object or a list. In this example, I'll explain how to extract the values in a data frame columns using the $ operator.
'@' : Description: Extract the contents of a slot in a object with a formal (S4) class structure.
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.
methods
package, attached by default since version 1.7.0.See also this document: S4 Classes and Methods.
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."
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With