2011-12-14 7 views
6

特定の名前空間に関数を定義する(名前空間に「mypackageと」添付)私はどちらかとは、私はパッケージ「mypackageと」を作成しました

'myfunction' 

または

を呼び出すことができる機能があり、このパッケージで
'mypackage::myfunction' 

ここでは、myfunctionを別のバージョン(更新済み)に置き換えたいと考えています。

パスを更新「のMyFunction」が

定義されたファイルのパスです。今、私はので、明らかにRの2.14.xと、このシステムのdoesntの仕事に移動どこで

source(path) 

を行うために使用Rは、同じ名前空間内に関数があるかどうかを最初にチェックし、存在する場合は、この関数を使用します。

私の質問:どのように更新された関数をパッケージと同じ名前空間に入れることができますか?

答えて

7

?assignInNamespaceを参照してください。例えば

assignInNamespace("myfunction", foo, "mypackage") 

は、名前空間"mypackage""myfunction"という名前のオブジェクトへのオブジェクトfooを割り当てます。 fooはどんなオブジェクトでもかまいません。myfunctionでも、グローバル環境/ワークスペースにmyfunctionがある場合は、mypackage::myfunctionに確実に電話するように注意する必要があります。

関連する問題