Rにパッケージを自動的にロードする方法を教えてください。library('package name')
つまり、何度も使用せずにRでセッションを開始したいのです。次にRを起動するときに使用したいすべてのパッケージをダウンロードしたとします。
4 に答える
ファイルを入れるか、設定library(foo)
してください:参照....Rprofile
R_DEFAULT_PACKAGES
?Rprofile
特に(?Rprofile
長く、潜在的に威圧的であるため):
起動時にデフォルトのパッケージとは異なるパッケージのセットが必要な場合は、「。Rprofile」または「Rprofile.site」ファイルに「options」の呼び出しを挿入します。たとえば、「options(defaultPackages = character())」は、起動時に追加のパッケージをアタッチしません(「base」パッケージのみ)(または、Rを実行する前に環境変数として「R_DEFAULT_PACKAGES = NULL」を設定します)。'options(defaultPackages = "")'または'R_DEFAULT_PACKAGES = ""'を使用すると、Rシステムのデフォルトが適用されます。
おそらく、すべてのデフォルトパッケージをロードしてから、追加のパッケージを追加する必要があるため(たとえば、デフォルトパッケージの一部をロードしないのではなく)、次のいずれかを実行できます。
library("mypackage1")
library("mypackage2")
[etc.]
または使用options(defaultPackages=...)
:
options(defaultPackages=c(getOption("defaultPackages"),
"mypackage1","mypackage2", ... [etc.]))
で、必要なパッケージを標準のデフォルト.Rprofile
に追加します。
編集(コメントからコピー)これをRstudioで機能させる:
http : //rstudio.org/docs/using/workspacesは、Rstudioが実行.Rprofile
され、「Rスタートアップで説明されている他のアクションを実行する[ http://stat.ethz .ch / R-manual / R-patched / library / base / html / Startup.html ] "(これはと同じ?Rprofile
です)。見るかどうかは曖昧Rprofile.site
です。
編集#2:以下のコメントによると、Rstudioの最近のバージョンで動作します。
Rの新しいセッションを開始するたびに実行されるスクリプトに他ならない.Rprofileというファイルがあります。
あなたがする必要があるのはそれに追加library(package)
することです。Unixを使用している場合は、おそらくホームフォルダに隠しファイルとしてあります。
Rスタートアップのカスタマイズに関するQuick-Rページには、基本的にBenやJoaoの回答と同じ情報が含まれていますが、おそらく少しわかりやすいでしょう。Rprofile.site
ホームフォルダ(Windowsのドキュメント)に必要な変更を加えたファイルのコピーを作成し、それを呼び出します.Rprofile
編集: R 3.0.0はドキュメントフォルダからは見えなくなりましたが、Windows 7ではユーザーのホームディレクトリ(ユーザー名)を使用していることに気付きました。ただし、これはインストールの問題である可能性があります(つまり、Rを「間違って」インストールした可能性があります)。以前)。ただし、この回答にリンクされているQuick-Rページは、これを行う正しい方法を示しています。他の誰かがこの問題に遭遇した場合、解決策は.Rprofile
ユーザーのホームディレクトリにコピーすることです。
.Rprofile
簡単な答えは、誰もが示唆しているように、Rパッケージをファイルに入れる必要があるということです。
ただし、Rはこのファイルを読み取り、Rベースパッケージをロードすることに注意してください。?Startupから参照してください:
サイトとユーザープロファイルファイルがソースされている場合、基本パッケージのみがロードされることに注意してください。
これにより、ロードするパッケージが一部のRベース関数を拡張/上書きする場合に問題が発生する可能性があります。たとえば、tidyverse :: filterを参照してください:https ://github.com/tidyverse/dplyr/issues/1611
私はこれまでに2つの解決策を見ることができます:
.First.sys()
ファイルの最初の行で使用し.Rprofile
ます。これは通常、.Rprofileを読み取った後に実行されるコマンドであり、。にパッケージをロードしますgetOption("defaultPackages")
。オプションdefaultPackagesを更新します。.Rprofileでは使用しない
library()
でください。old <- getOption("defaultPackages") options(defaultPackages = c(old, "tidyverse"))