5

コンソールを乱雑にしているRでこれらの出力を抑制することが可能かどうか疑問に思っています:

Note: no visible binding for global variable '.->ConfigString' 
Note: no visible binding for '<<-' assignment to 'ConfigString' 

コードは次のとおりです (R プロジェクトの構成を格納する単純な ReferenceClass です)。

# Reference Class to store configuration
Config <- setRefClass("Config",
  fields = list(    
    ConfigString = "character"
    ),
    methods = list(
        # Constructor
        initialize = function() {
            ConfigString <<- "Hello, World!"
        }
  )
)

これまでに試したこと

変数を事前に定義したり、事前にnullに設定したりする組み合わせや順列を試してみましたが、Rはまだ何百もの「No Visible Binding」ノートをソースコードに頑固に出力しています。

R の内部構造に関して、私より賢い人はいますか?

更新 1

に変更しようとしましConfig <-Config <<-が、2 番目の無関係なメモが取り除かれます。ただし、最初の無関係なメモはまだ存在します。

更新 2

John Chambers によるサンプル コードでさえ、これらの恐ろしく無関係なメモをさらに生成します。

アップデート 3

これらのメモは Revolution R v7.0 で発生しますが、RStudio では発生しません。Revolution R v7.0 が を呼び出しているように見えますがR CMD check、これは通常、パッケージを準備するときにのみ使用されるため、これらのメモは無視しても問題ありません。

更新 4

Hadley Wickhams コードもこれらのメモを生成します。どうやら、 を使用してそれらを排除することは可能utils::globalVariablesですが、これは新しい ReferenceClasses では機能しないようです。それらを使用することがまったく可能であったとしても、Hadley は次のように述べています。

globalVariables は恐ろしいハックであり、私は決して使用しません。

4

2 に答える 2