私は、技術に精通していない従業員の会社のために R パッケージを開発しています。
ユーザーの生活を楽にするために、関連するパッケージを更新してロードするために、起動時にソースを取得できる一連のスクリプトをグローバルな場所に配置することを考えています。
私の考えは、その部分的なパッケージがインストールされている場合にのみ供給されるカスタムパッケージごとにスクリプトを用意することです。これを機能させるには、ユーザーがさまざまなパッケージをインストールするときに、パッケージ A がインストールされた後に .First() 関数を変更する必要があります。
.First() <- function(){
source('script_to_package_A')
}
パッケージ B がインストールされている場合:
.First() <- function(){
source('script_to_package_A')
source('script_to_package_B')
}
したがって、 .First() が既に定義されていて、その行がまだそこにない場合、または .Rprofile が存在しない場合は作成する場合は、.Rprofile ファイル内に行を追加することに興味があります。
これを達成するための最良の方法は何ですか?
ご多幸をお祈りしますトーマス
編集: 明確にするために-私が探しているのは、起動時に呼び出される .First() 関数を変更する安全な方法です。つまり、ユーザーが既に .First() 関数を定義している場合、古い .First() を置き換える代わりに追加が追加されるだけです。特定のパッケージがインストールされたときに最初にこの追加が行われることが望ましいですが、これは必須ではありません。.First() 関数に何を追加するかについてはかなり自信があるので、これは問題ではありません。