2016-09-11 13 views
1

Rでパッケージを書くとき、パッケージのDESCRIPTIONにベースパッケージ(utils、grDevices、statsなど)を依存関係として追加する必要がありますか?Rベースパッケージのパッケージ依存性

Some packagesこれを行うが、ほとんどそうではないようだ。

これについてはWriting R Extensions manualの情報が見つかりませんでした。あなたはあまりにも多くの依存関係を設定しますが、インポートとしてそれらのパッケージを使用することを好むべきではありません

+0

はい、必要に応じてDESCRIPTIONとNAMESPACEでインポートする必要があります。昨年のCRANにのみ実装されていたため、古いパッケージはこのポリシーに準拠していない可能性があります。 – Thomas

+0

@トーマスR CMDチェックは、私がそれを実行したときにこれについて気にしなかった。また、この問題がCRANの方針でどこで扱われたのかを私に見せてください。 (私の質問は、Rのベースパッケージに選択的に適用されることに注意してください。)副作用として、RANを実行するときにCRANとしてこの問題に関する提案された重複案がどのようにノート、警告、エラーを表示しないのか分かりません。 –

+1

'R CMDチェック--as-cran'を実行します。これは明示的ではありませんが、[WREでは "すべてのパッケージ"がそれを渡す必要があると言われています(https://cran.r-project.org/doc/manuals/r-devel/R-exts.html#DOCF10)。ベース以外のデフォルトパッケージも意味します。 – Thomas

答えて

1

インスタンスの説明では、あなたが、その後に、importFromいずれかを使用することができ、あなたの名前空間に

 Imports:  
    graphics, 
    utils, 
    stats, 
    grDevices 

を書きますあなたが使用するいくつかの機能しか持っていない場合。次に、pkg :: fun()を使用して関数を指す必要はなく、パッケージ全体をインポートするpkgをインポートしても、pkg :: fun()を使用する必要はありません。あなたがそれらまたは使用依存をインポートせずにこれらの機能を使用しようとすると、あなたのNAMESPACE

import(graphics) 
    importFrom(stats,coef) 
    importFrom(stats,ftable) 
    importFrom(stats,na.fail) 
    importFrom(utils,data) 
    importFrom(utils,globalVariables) 
    importFrom(utils,read.csv) 
    importFrom(utils,select.list) 
    importFrom(utils,stack) 
    importFrom(utils,write.table) 

に書くことができるものの例以下は

、R-CMDチェックは失敗します。

+0

パッケージ内の '::'を使ってすべての関数にアクセスしましたが、NAMESPACEにインポートを追加していません。しかし、R CMDのチェックでは、ベースRに含まれていないパッケージのようにgrDevicesを追加しないことには何のエラーもありませんでした。 –

+0

@thomasの前のコメントはあなたに正しい答えを与えていると思います。私はR-forgeに対処するための警告を出していましたが、私が単に依存する前に、私は依存度が高すぎるという警告がありました。トーマスが言ったように、R CMD CHECK --as-cranを試してみてください。 – Cedric

+0

私が上記の@Cedricと同じように私は警告を受けず、R CMDチェックはCRANサーバー上で実行されています。 –

関連する問題