web-dev-qa-db-ja.com

roxygen2は、「Imports:」パッケージのNAMESPACEディレクティブを自動的に書き込みますか?

私の質問のtl; drバージョン

パッケージをインポートする場合、NAMESPACEファイルにimport()ディレクティブを手動で書き込む必要がありますか?説明に「Imports:」と記載されていても、roxygen2は魔法のようにそれを行わないようです。

フルバージョン

これはかなりばかげた質問ですが、答えが私には明らかではないので、私は尋ねます。

私は_roxygen2_を使用して 私のRパッケージ ドキュメントを処理します。関数がエクスポートされていることを確認したい場合は、そのroxygenブロックに_@export_タグを追加します。その後のroxygenize()の実行は、それに応じてNAMESPACEディレクティブを書き込みます。

しかし、 私のパッケージ は現在他のいくつかをインポートしています:

_Depends:
    R (>= 2.13.0),
    ggplot2 (>= 0.8.9)
Imports:
    RColorBrewer,
    plyr,
    gridExtra
_

_roxygen2_willexportedのNAMESPACEディレクティブを書き換えているようです-)関数、指定したパッケージを反映するようにNAMESPACEが自動的に書き換えられることはなく、DESCRIPTIONにインポートする必要があります。

47
briandk

私のコメントを拡張して、namespaceのパッケージ/関数にimportディレクティブを自動的に追加したい場合は、@imports packageまたは@importFrom package function行をに追加することで追加できます。関数のroxygen2ドキュメントヘッダー。

ただし、@ hadleyが指摘したように、NAMESPACEのみを変更し、パッケージDESCRIPTIONには影響しません。

42
Ramnath