問題タブ [r-s4]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2127 参照

oop - S1およびS2クラスとは何ですか?

RにはS3、S4があり、R 2.12では参照クラス(非公式にはS5クラスと呼ばれます)があります。

S1(またはS2)クラスのようなものはありますか?もしそうなら、彼らは何ですか?そうでない場合は、なぜS3から始めるのですか?

0 投票する
2 に答える
394 参照

oop - is.objectとS3クラスシステム

このclass関数を使用すると、オブジェクトのクラスを判別できます。

is.objectまた、コマンドを使用して、オブジェクトにクラスがあるかどうかを判断できることも理解しています。ただし、一部のオブジェクトタイプは暗黙的です。つまり、

Rのすべての変数はオブジェクトでis.objectあり、非暗黙的なクラスのみのテストであると述べるのは正しいでしょうか?

また、タイプはこれにどのように適合しますか。素朴に、私は次のコードがエラーを生成すると思いました:

しかしx、それでも「double」タイプがあり、それでもすべてが機能します。タイプは、他のすべてのオブジェクトが継承するスーパークラスと考えることができますか?

0 投票する
1 に答える
1954 参照

oop - S3メソッドをS4オブジェクトで機能させるにはどうすればよいですか?

S4オブジェクトを含む任意のRオブジェクトで動作するS3メソッドを作成しています。

私が最初に理解していないのは、S4クラスがS4基本クラスから派生しているようには見えないため、ディスパッチメソッドをf <- function(x) UseMethod("f")宣言してすべてのS4オブジェクトを取得させることはできないということです。f.S4unclassS4オブジェクトの場合、クラスが指定されているように見えますS4。)ディスパッチをどのように管理する必要がありますか?

これらのS4オブジェクトを処理する最も簡単な方法は、それらをリストに変換することだと思われます。残念ながら、as.listエラーがスローされます(「このS4クラスをベクターに強制変換するメソッドはありません」)。

これは私のテストS4オブジェクトです:

関数S3Partとパッケージは有望に見えましたが、で使用すると両方ともエラーが発生しS3Classます。したがって、質問2は次のとおりです。S4オブジェクトをリストに変換する一般的な方法はありますか?methodswin

0 投票する
6 に答える
49105 参照

r - Rで「S3メソッド」とはどういう意味ですか?

私はRにかなり慣れていないので、S3のメソッドとオブジェクトが何であるかわかりません。S3とS4のオブジェクトシステムがあり、可能であればS4ではなくS3を使用することをお勧めするものもあります(http://google-styleguide.googlecode.com/svn/trunk/google-r-styleでGoogleのRスタイルガイドを参照してください)。 html)*。ただし、S3メソッド/オブジェクトの正確な定義はわかりません。

更新:2019年の時点で、GoogleのRスタイルガイドのハイパーリンクがここにあります