24
26

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

R オフラインでのパッケージインストール

Last updated at Posted at 2017-07-11

###オフラインでのパッケージインストール
Rのパッケージは、インターネット環境下では

.R
install.packages()

を使用すると、簡単にインストールできますが、
作業環境がインターネット接続下にない場合も多々あると思います。

その場合、CRANサイトにてパッケージファイルのダウンロードが可能ですが、
使用したいパッケージのダウンロードだけでは機能しないことが大半です。
一つのパッケージの中で、複数のパッケージを呼び出しているので、それに紐付いているパッケージ全てが必要なためです。
ですが、それを一つ一つ調べてダウンロードすることは大変なので、一括でしたいと思います。

今回は"ranger"というランダムフォレストモデルを作成するためのパッケージを例にやってみたいと思います。
(windows環境で行っています)

##①紐付いているパッケージの調査
まずは、インターネット接続のあるPC上のRで、
使用したいパッケージに紐付いているパッケージを調べます。
Rコンソールに以下を入力してください。

.R
#miniCRAN というライブラリを使用します
install.packages("miniCRAN")
library(miniCRAN)

#pkgDep("使用したいパッケージ")で使用したいパッケージに紐付いているパッケージの探索
pkgs <- pkgDep("ranger")

#出力
pkgs

gateway.png

"ranger"を使用するために必要なパッケージを探索できました。

##②必要なパッケージのダウンロード
必要なパッケージがわかったので、ダウンロードします。

.R
#パスが通らないときは、ディレクトリの区切りを"¥¥"や"/"に変更してみてください
#destdir にダウンロード先のパスを指定してください
download.packages(pkgs,destdir="C:¥¥users¥mochi¥", type="win.binary")

ダウンロードがはじまりました
gateway-1.png

すべてダウンロードが完了すると以下のような表示が出てきます。
gateway-1 2.png

①で調査した際に出力されたパッケージが揃っているはずです。

##③移動
②で"destdir"(ダウンロード先)に指定したディレクトリに、zipファイルが出力されているはずなので、
それをUSBに入れるなどしてください。
そして、Rを使用したいオフライン環境へ移動させてください。

オフライン環境のR上で、以下を実行すると、インストール完了です。

.R
install.packages(
  c("オフライン環境の、パッケージ移動先パス/ranger_0.8.0.zip",
    "オフライン環境の、パッケージ移動先パス/Rcpp_0.12.11.zip"), 
  repos = NULL, conrib.url="win.binary", type = "win.binary")

###※上記でインストールしても、使用できない場合
Rを使用したいオフライン環境の、Rライブラリのディレクトリを探し、必要なzipファイルを解凍した状態で入れましょう。
同じ名前のパッケージフォルダがあると、どちらを使用すべきか判断できないことによりエラー発生することがあるので注意してください。

24
26
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
24
26

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?