2017-01-20 12 views
1

私はfooパッケージ内のいくつかの機能を使用したいが、その後、私はこれに実行することとします`ライブラリ(...)によってマスクされた関数のマスクを解除するには?

> library(foo) 

Attaching package: ‘foo’ 

The following objects are masked from ‘package:bar’: 

    baz 

は、私が興味foo

  1. の機能は完全に独立していると仮定するとfoo::bazから;
  2. bar::baz(現在マスクされています)がfoo::bazではありません。

fooのアンロードbar::bazがアンマウントできる方法はありますか?

+1

'baz'を読み込む前に' foo'を読み込むことができます。つまり、 'bar :: baz'は' foo :: baz'をマスクするようになります。しかし、それが唯一の紛争であれば、それはあなたに必要なものを与えるかもしれません。 – Benjamin

+1

別のオプションは、あなた自身の小さなユーティリティパッケージで、 'foo'と' bar'の両方から必要な機能をインポートし、それらをワークスペースにエクスポートします。それぞれのパッケージからあなたが望む機能をチェリーする方法の種類。 – Benjamin

+1

'baz <-bar :: baz'を定義することもできます。あるいは、 'attach 'を使って検索リストの位置を元に戻すこともできます。 'search()'を実行すると、Rが関数を探すパッケージの順序を見ることができます。次に、 'bar'の' pos'ition( 'foo'の前にある)を指定する' attach'を使います。 – nicola

答えて

3

誰かがコメントで示唆したように、バニラbazを再定義してください。

baz <- bar::baz

関連する問題