在Marray等包装中 林玛, ,当加载复杂的对象时,它们包含使用 @符号访问的“成员变量”。这是什么意思,它与$符号有何不同?

有帮助吗?

解决方案

?'@':

  • 描述:

    提取具有正式(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