web-dev-qa-db-ja.com

コマンドラインからバイナリ圧縮Rパッケージをインストールする

私はWindows 7マシンでコマンドラインを介して圧縮されたバイナリRパッケージをインストールしようとしています

R CMD INSTALL packagename

しかし、それは機能しません。 CMD INSTALLはバイナリパッケージのインストールには使用できないことを読みました。では、コマンドラインからバイナリパッケージをインストールするにはどうすればよいですか?

24
Kai

Rscriptフロントエンドを使用して、実行中のRセッションにいるかのようにコードを実行できます。インストールするパッケージが現在の作業ディレクトリの_foo.Zip_だとします。私はおそらくここでRscriptを悪用していますが、私にとってはうまくいきます:

_Rscript -e "install.packages('foo.Zip', repos = NULL)"
_

スクリプトが実行されているディレクトリにない場合は、バイナリパッケージへのパスを指定する必要があります。 _repos = NULL_は、install.packages()をローカルファイルから動作させるためのコツです。指定する可能性のある他の引数、特にlibの詳細については、_?install.packages_を参照してください。これを行うと、依存関係の自動解決によるメリットは得られないことに注意してください。そのためにはrepoが必要であり、それを指定すると、Rがパッケージをダウンロードしようとします。

あなたは_R CMD INSTALL_について正しいです。 Rのインストールおよび管理マニュアルの セクション6. には次のように記載されています。

Unixと同様にソースからパッケージをインストールするには

_    R CMD INSTALL -l /path/to/library pkg1 pkg2 ...
_

手間のかからない私のような初心者のための代替は次のようになります:

 install.packages(file.choose(), repos=NULL)

File.choose()コマンドは、ダウンロードした.Zipファイルまたはtar.gzファイルを選択できるウィンドウを表示します。このコマンドは、Windowsマシンで十分な権限がなく、私のようなフラッシュドライブからRを実行する場合に非常に役立ちます。

このコマンドを実行する前に、使用するパッケージ名にインストールするZipファイルの名前を変更することもできます。

29
moldovean

@moldoveanの回答への追加:以前は圧縮ファイルを保存していた(tempからRのダウンロードフォルダーにコピーして、後で参照できるようにする)。 Rを2.15.1から3.0.1に更新したら、次のコマンドを実行して簡単にインストールできます。

setwd("C:/Downloads/R Packages");
packages<-dir();
install.packages(x, repos=NULL) #where x is the name of package

そしてRはすべてのパッケージをzipファイルから自動的にインストールしました。今、私は1つのコマンドだけでそれらすべてを更新できます(グーグルそれ)

4
Outlier