在 marray 和limma等包中,当加载复杂对象时,它们包含使用 @ 符号访问的“成员变量”。这是什么意思,它与 $ 符号有何不同?
问问题
11118 次
3 回答
39
见?'@'
:
描述:
提取具有正式 (S4) 类结构的对象中插槽的内容。
用法:
object@name
...
S 语言有两个对象系统,非正式地称为 S3 和 S4。
- S3 对象、类和方法从一开始就在 R 中可用,它们是非正式的,但非常具有交互性。S3 最初是在白皮书(S 中的统计模型)中描述的。
- S3 不是真正的类系统,它主要是一组命名约定。
- S4 对象、类和方法更加正式和严谨,因此交互性更少。S4 最早是在绿皮书(使用数据编程)中描述的。在 R 中,它可以通过
methods
包获得,自 1.7.0 版起默认附加。
另请参阅此文档:S4 类和方法。
于 2009-12-15T15:11:25.117 回答
10
正如其他人所说,@ 符号与 S4 类一起使用,但这里有一条来自Google 的 R 样式指南的注释:“使用 S3 对象和方法,除非有充分的理由使用 S4 对象或方法。”
于 2009-12-17T23:49:04.347 回答
5
您将需要阅读使用 @ 符号的 S4 类。
于 2009-12-15T15:01:06.120 回答