43

marrayやlimmaのようなパッケージでは、複雑なオブジェクトがロードされると、@記号を使用してアクセスされる「メンバー変数」が含まれます。これはどういう意味で、$記号とどう違うのですか?

4

3 に答える 3

39

参照してください?'@'

  • 説明:

    正式な(S4)クラス構造を持つオブジェクトのスロットの内容を抽出します。

  • 使用法:

    object@name

    ..。


S言語には、非公式にS3およびS4と呼ばれる2つのオブジェクトシステムがあります。

  • S3オブジェクト、クラス、およびメソッドは、最初からRで使用可能であり、非公式ですが、非常にインタラクティブです。S3は、ホワイトブック(Sの統計モデル)で最初に説明されました。
  • S3は実際のクラスシステムではなく、ほとんどの場合、一連の命名規則です。
  • S4オブジェクト、クラス、およびメソッドは、はるかに形式的で厳密であるため、インタラクティブ性が低くなります。S4は、グリーンブック(データを使用したプログラミング)で最初に説明されました。Rではmethods、バージョン1.7.0以降、デフォルトで添付されているパッケージから入手できます。

このドキュメントも参照してください:S4クラスとメソッド

于 2009-12-15T15:11:25.117 に答える
10

他の人が言っているように、@記号はS4クラスで使用されますが、GoogleのRスタイルガイドからのメモです:「S4オブジェクトまたはメソッドを使用する強い理由がない限り、S3オブジェクトとメソッドを使用してください。」

于 2009-12-17T23:49:04.347 に答える
5

@記号を使用するS4クラスについて読みたいと思うでしょう。

于 2009-12-15T15:01:06.120 に答える