Data.table: R CMDチェック注:グローバル変数の表示可能なバインディングはありません

作成日 2014年10月02日  ·  3コメント  ·  ソース: Rdatatable/data.table

data.tableを使用するパッケージ(そして私はdplyrも信じています)は、R CMDチェックからこのNOTE(おそらく多く)を取得します。 何かできることはありますか? これは単なるメモなので無視できますが、それでも無視できます。

おそらく、これらのシンボルを検出し、パッケージ作成者に対してglobalVariables()呼び出しを自動的に作成する関数を提供します。

http://stackoverflow.com/questions/15409806/r-package-compilation-with-dependency-on-data-table
http://stackoverflow.com/questions/8096313/no-visible-binding-for-global-variable-note-in-r-cmd-check

IIUCでは、data.tableとdplyrの両方が使用する「非標準評価」を認識させるために「RCMDチェック」に変更する必要があります。 これは難しい問題です(おそらく、コードを実行しないと不可能です)。 したがって、関数?globalVariablesは2.15.1でRに追加されましたが、あまり知られていないのは、おそらく?dontCheckがR 3.1.0で追加され、NSEを使用してクエリをラップするために使用できることです。 これらは、NSEを使用しているものだけでなく、コードの他の領域で真のエラーをサイレンシングする(またはおそらく新しいエラーを作成する)リスクがある<-NULLよりも優れています。

最も参考になるコメント

@cdervを使用する前に、変数にNULLを割り当てることができます(オーバーライドと混同しないでください)。 したがって、グローバル変数を定義するのではなく、それらを使用している関数でローカル変数を定義するだけです。 特別な方法で対処する必要はないと思います。 この問題はアクションポイントが定義されていない状態で2年間待機しており、実際にはdata.tableの問題ではないため、今のところ終了します。

全てのコメント3件

必ずしも無視することはできません。 一部のパッケージは拒否されており、作成者はCRANからglobalVariablesを使用してNOTESを抑制するように指示されています。 例えば:

http://stackoverflow.com/questions/9439256/how-can-i-handle-r-cmd-check-no-visible-binding-for-global-variable-notes-when#comment20826625_12429344

やあ、
これは古い問題ですが、解決されていません。 私は今、新しい解決策があるかどうか疑問に思いましたか?
それ以外の場合、従うべき良い習慣は何ですか? まだglobalVariables

私はのアイデアが好きです

これらの記号を検出してglobalVariables()を作成する関数

ありがとう。

@cdervを使用する前に、変数にNULLを割り当てることができます(オーバーライドと混同しないでください)。 したがって、グローバル変数を定義するのではなく、それらを使用している関数でローカル変数を定義するだけです。 特別な方法で対処する必要はないと思います。 この問題はアクションポイントが定義されていない状態で2年間待機しており、実際にはdata.tableの問題ではないため、今のところ終了します。

このページは役に立ちましたか?
0 / 5 - 0 評価