オフライン環境におけるRパッケージのインストール方法について
さて、初回のブログ内容は、『業務用パソコンがネットにつながらないためRのインストールやパッケージのダウンロードができない』問題に対しての一つの解決策について取り上げたいと思います。ちょっとしたデータ(1000行くらい?)ならエクセルの関数を使って集計や図示することができますが、それよりも大きなデータになるとエクセルでは時間がかかったり関数を複数入れこんだりして煩雑になります。その際Rを使うと簡潔なコードを書くだけで高速に結果が出てきます。特にtidyverseパッケージは神レベルの使いやすさですので、使用されたことがない方は是非一度使ってみてください。
近年、EBPM(エビデンス・ベースト・ポリシー・メイキング。証拠に基づく政策立案)に注目が集まっているので、データ解析ソフトであるRに注目が集まると思います。無料ですし。
なぜオフライン環境でRをインストールしないといけないのか?
EBPMの推進など、今後は今まで以上に業務においてデータ解析する必要があるのに、業務用パソコンがネットにつながらないため、Rが使えずエクセルでコツコツ集計や解析をやらないといけない方が沢山いると思われます(SPSSやSASは費用が掛かかり導入ハードルが高いためここでは議論の対象としません)。でも一度でもRを使ったことがある人は、エクセルのクリックでデータを選択していくところとか、処理速度が遅いことに疲れを感じませんか(私は感じます)。そこでオフライン環境でもRをインストールしたり、新たなパッケージをインストールできたら素敵ですよね!!!
近年の情報漏洩問題などの職場事情で業務用パソコンがネットにつながらずに、Rをつかうことができない人が多いのではないでしょうか?私もその一人です。
この状況になったときの対処方法として、
- ネットがつながっているパソコンで解析を行う。
- 諦めて業務用パソコンにはいっているエクセルで解析を行う。
- オフライン環境の業務用パソコンにRをインストールし、パッケージ群もインストールする。
この3つの方法があると思いますが、1の方法では個人情報など機密情報を扱う部署の場合、業務用パソコン以外にこれらのデータを移すことは困難ですよね。また、2の方法では、解析できないことが多く諦められませんでした。そのため、実質3の選択肢しかなかったため色々調べてみると、オフライン環境でもRやRstudioがインストールできることが分かりました。本当にRはすごいですね。また、データ解析をサポートしてくれるパッケージ達もオフライン環境でインストールすることが出来ることが分かりました(歓喜)。
なお、RやRstudioのオフライン環境の方法については、@daifuku mochi2さんなどすごく分かりやすい情報があるので、まずはこちらを読んでください。
本ブログでは主に非エンジニアの方向けにオフライン環境のパソコンへのパッケージの導入方法について詳しく書きます。
作業に必要なもの
作業に必要なものとしては、
- オフライン環境のパソコン
- ネット環境にアクセスできるパソコン
- USB
この3つをご用意ください。なお、ネット環境にアクセスできるパソコンには既にRがインストールされており、かつ、必要なパッケージが予めダウンロードされていることを前提にしています。
実際の作業の順番
作業の流れとしては以下の通りです。
- 業務用パソコンにRやRstudioの導入を行ってよいか、の申請を行う。
- ネット環境にアクセスできるパソコンでRのダウンロードを行いUSBに入れる。
- ネット環境にアクセスできるパソコンでRStudioのダウンロードを行いUSBに入れる。
- ネット環境にアクセスできるパソコンに入っている必要なパッケージをUSBにうつす。
- USBをオフライン環境のパソコンにさし、RとRstudioを導入する。
- オフライン環境のパソコンにあるRのLibraryフォルダを開き必要なパッケージをUSBからフォルダごとうつす
文字で書くとやることが多く感じますが、実際の作業としてはそんなに手間はかかりません。では、順番に説明していきます。
1.業務用パソコンにRやRstudioの導入を行ってよいか、の申請を行う。
これは所属している団体により異なると思いますが、私の場合は自分の所属で許可を受けて、その後パソコン管理を取りまとめをしている他の所属で許可を得ました。
2.ネット環境にアクセスできるパソコンでRのダウンロードを行いUSBに入れる。
まずネット環境にアクセスできるパソコンにRをダウンロードしましょう。まず、CRANのサイトにアクセスします(2020/01/12時点)。
開いた後、Download and Install Rの箇所で、オフライン環境のパソコンのOSを選びましょう。次の画面では、初回のインストールならbaseを選んでください。その次の画面では、ダウンロードするRのバージョンが記載されています(以下のキャプチャー)。現時点(記事を書いて時点2020/01/13)では、R3.6.2が最新バージョンです。
この画像でのDownload R 3.6.2 for Windowsの箇所をクリックし、名前を付けて保存を押しダウンロードします。ダウンロードする場所はどこでもよく、例えばドキュメントなどに保存します。
ダウンロードすると保存先のフォルダに、今回の場合R-3.6.2-win.exeというファイルが出来ています。このファイルをUSBに入れます。
3.ネット環境にアクセスできるパソコンでRStudioのダウンロードを行う。
Rを使う際、Rstudioを使うと本当に便利になります。本ブログでは本筋からはずれるため詳しくは言及しませんが、もし使われていない人がいれば一度使ってみることお勧めします。
Rstudioは、以下のサイトからダウンロードすることが可能です。
オフライン環境のパソコンで使うため、RStudio DesktopのFreeバージョンをクリックしてください。その次の画面でOSを選ぶ画面になりますので、オフライン環境のパソコンのOSを選んでください。そうすると自動的にRStudioのアプリケーションがダウンロードされます。私のパソコンの場合は、PCのダウンロードに自動的に保存されていました。
現時点(2020/01/13)の最新バージョンでダウンロードされたRStudio-1.2.5033.exeをUSBに入れます。
4.ネット環境にアクセスできるパソコンに入っている必要なパッケージをUSBに入れる。
さて、ここからが本ブログのメイン部分です。オフライン環境のパソコンへのパッケージ群の移行の仕方については、土屋先生が詳しく記事を書いてくれていますが、なぜか私のRではエラーがでてうまくいきませんでした。この方法でうまくいく人は、是非この方法でオフライン環境のパソコンにインストールしてください。
もし、私と同じくエラーがでてうまくいかない場合は、以下の方法を試してください。
オフライン環境のパソコンで使いたいRパッケージを、ネット環境にアクセスできるパソコンのRでインストールしておく。
インストールされたパッケージがネット環境にアクセスできるパソコンのどこに保存されているかを確認する。(私の場合の確認方法は、Rstudioを一度開き右下のパッケージを管理する場所のPackagesを押してInstallボタンを押します(下図参照)。
クリック後に下図のようにInstall Packagesの画面が出てきます。そこの一番下の段にInstall to Libraryと書いており、そこにパッケージが入っているフォルダのパスが書かれています。私の場合は、C:/Users/(ユーザー名)/Documents/R/win-library/3.6 [Default]に保存されていました。
次に、このパスのフォルダを開きます。すると下図のようにパッケージの名前がかかれたたくさんのフォルダがあることが分かります。これらのパッケージの中で必要なものをUSBに入れてください。全て必要なら全てのファイルをUSBに入れます。
以上でネット環境にアクセスできるパソコン上での操作は終わりです。
5.USBをオフライン環境のパソコンにさし、RとRstudioを導入する。
上記2と3の作業でUSBに入れたR-3.6.2-winとRStudio-1.2.5033.exe(現時点:2020/01/13)とをオフライン環境のパソコンにコピペして貼り付けてください。場所はディスクトップなどが分かりやすいと思います。
次に貼り付けたファイルを実行していきます。私はRを入れた後でRstudioをいれるという順番でやっています。
作業としては基本的にクリックをしていくだけでOKです。詳しくは@daifuku mochi2さんのブログ等をご覧ください。
6.オフライン環境のパソコンにあるRのLibraryフォルダを開き必要なパッケージをUSBからフォルダごとうつす
最後に必要なパッケージを導入します。先ほどの手順4と同様にオフライン環境のパソコンにいれたRstudioを起動し、Install packagesを押してパッケージが収納されているフォルダを確認します。そして一度Rstudioをとじます。
その後パッケージが収納されているフォルダに、USBに保存した必要なパッケージのフォルダをそのままコピペして貼り付けます。
作業としては以上になります。見ていただきありがとうございました。
今後の予定
今後の予定としては、備忘録も兼ねたggplot2の複数枚の描画コードやdplyrを使った集計の仕方について書いていきたいと考えています。どうぞ宜しくお願い致します。