クラスを定義したら、パッケージのどこに配置するのか疑問に思います。classDefintions.R
S4クラス定義を含むファイルを作成し、それをRフォルダーに配置する必要がありますか?もしそうなら、どうすればそれを適切に文書化できますか?.rd
S4クラスのファイルテンプレートはありますか?
Roxygen2でこの投稿を見つけましたが、ここから少し遅れている可能性があります。それは基本的にどのように行われ、配置されていますか?
クラスを定義したら、パッケージのどこに配置するのか疑問に思います。classDefintions.R
S4クラス定義を含むファイルを作成し、それをRフォルダーに配置する必要がありますか?もしそうなら、どうすればそれを適切に文書化できますか?.rd
S4クラスのファイルテンプレートはありますか?
Roxygen2でこの投稿を見つけましたが、ここから少し遅れている可能性があります。それは基本的にどのように行われ、配置されていますか?
他のRオブジェクトと同様に、S4クラスとメソッドの定義は、パッケージソースのmanサブディレクトリに格納されている*.Rdファイルで文書化されています。
R-extsの関連セクションを読むことに加えて、よく知っているS4ベースのパッケージのソースをダウンロードして確認することをお勧めします。(私にとっては、 sp、lme4、またはMatrixである可能性があります。)
最後に、methodsパッケージには2つの気の利いたユーティリティ関数が含まれてpromptClass()
おりpromptMethods()
、現在のRセッションで定義されているS4クラスまたはメソッドのスケルトン*.Rdファイルに入力します。
spパッケージで定義されたRオブジェクトを使用する例として、これを行うことができます。
library(sp) ## for some example S4 classes and methods
promptClass("SpatialPolygons")
# A shell of class documentation has been written to the file
# ‘SpatialPolygons-class.Rd’.
promptMethods("bbox")
# A shell of methods documentation has been written to the file
# ‘bbox-methods.Rd’.
次に、ファイルSpatialPolygons-class.Rd
を見て、bbox-methods.Rd
これらの関数がどれだけの作業を節約できるかを確認してください。
編集: あなたの質問を簡単に読み直した後、メソッドとクラス自体を含める方法についても質問されていたようです。それについての私のアドバイスは基本的に同じです。マニュアルを読んで「ソースを使用する」(ファイル内のディレクティブがS4オブジェクトのエクスポートにどのように使用されるかを確認してexportClasses()
くださいexportMethods()
)NAMESPACE
。