1. ホーム
  2. r

[解決済み] グローバル環境でマスクされるオブジェクトの意味

2022-01-28 18:25:51

質問事項

私のパッケージをグローバル環境にロードすると、次のようなメッセージが表示されます。

> library(saber)

Attaching package: ‘saber’

The following objects are masked _by_ ‘.GlobalEnv’:

    load.schedule, teamStats

その意味も、気にする必要もないのでしょうが。

なぜ、このメッセージが配信されるのか、その意味は何なのか。

解決するには?

グローバル環境に、パッケージ内の(エクスポートされた)ものと同じ名前のオブジェクト(通常、関数)が存在することを意味します。タイプ search() をクリックすると、Rが名前を解決する順序を見ることができます。

解決策は、どちらかです。

  1. グローバル環境でそのような名前のオブジェクトを作成しない。
  2. パッケージ内のオブジェクトの名前を、衝突を起こしにくいものに変更するか、エクスポートすることを再検討するか、あるいは
  3. として参照する必要があることを忘れないでください。 saber::teamStats .

メッセージに至った状況が本当に異常でない限り、おそらく(2)がベストだと思います。