前回「PythonとRの連携」で駆け足で紹介しましたが、Rのインストールしたパッケージの保管方法のまとめです。これを知らずにRを使って、よく使うパッケージを毎回インストールしていると時間がかかり過ぎるため、パッケージを圧縮して保管しておけば、読み込みを高速化できます。
本日のメニュー:Rのパッケージの保管方法
- Google Colaboratoryの準備(ドライブのマウント)
- 前回までにインストールしたRのパッケージ(がある場合)の読み込み
- 新たにインストールしたRのパッケージの圧縮保存
Google Colaboratoryの準備(ドライブのマウント)
最初にGoogleドライブと連携できるようにします。Google Colaboratoryで作業するフォルダは作業が終わるとコード以外は消えてしまうので、データは消されない場所に入れます。
まずはGoogle Colaboratoryにログインしましょう。
ファイルから「ノートブックの新規作成」をクリック。
ファイル名は適当につけます。(ここでは「R_Python_linkage.ipynb」とします)
以下のフォルダのアイコンをクリックします。
以下をクリックします。
「Googleドライブのファイルへのアクセスを許可しますか?」と表示されたら、「Googleドライブに接続」をクリックします。
はじめての場合は、以下のようなコードが出現するので、▶をクリックして実行します。
アクセスできる情報は「すべて選択」を選択して、「続行」をクリックします。
以下のように「drive」が出てきたら、Googleドライブのマウントができています。
drive以下をクリックしていくと、フォルダの中が確認できます。
作成している「R_Python_linkage.ipynb」は「Colab Notebooks」にあります。
消されたくないデータはdriveに入れるか、別途管理しましょう。
前回までにインストールしたRのパッケージ(がある場合)の読み込み
過去に(Rのパッケージを新たにインストールして)圧縮保存したファイルがなければ読み飛ばしてください。
過去インストールしたRのパッケージを復活させます。以下のコードを実行すれば、圧縮保存しておいたlibraryフォルダが復活し、インストール作業が不要になります。
%%shell
# Colab Notebooksのフォルダにlibrary.tar.gzを保存しておいた場合
tar xzf "/content/drive/MyDrive/Colab Notebooks/library.tar.gz"
無事読み込めました。
新たにインストールしたRのパッケージの圧縮保存
まずはGoogle Colaboratoryで、Pythonの以下コードを実行して、パッケージ保存先のlibraryフォルダを作成しておきましょう。(過去にインストールしたlibraryを復活させた場合はあらためてフォルダをつくる必要はありません)
# Rを使えるようにする
%load_ext rpy2.ipython
# 作業フォルダにlibraryというフォルダを作成します(作業後消えます)
!mkdir library
次にRでパッケージのインストール作業です。
今回は以下の4つのRのパッケージを使います。そのままGoogle Colaboratoryでデフォルトで読み込めるものは上2つ(tidyverse, readxl)だけです。実行すると、「パッケージがありません」とエラーがでてしまいます。
# Rの分析の準備
%%R
.libPaths("library") # ライブラリの保存先指定
library(tidyverse)
library(readxl)
library(openxlsx) # ★デフォルトで読み込めないためエラーになる
library(DT) # ★デフォルトで読み込めないためエラーになる
そこで、以下のコードを実行して、パッケージ4つをインストールします。(5分くらいかかります)
%%R
.libPaths("library") # libraryの保存先フォルダ指定
install.packages("openxlsx")
install.packages("DT")
install.packages("Rcpp") # 前提パッケージ
install.packages("htmlwidgets") # 前提パッケージ
install.packages("crosstalk") # 前提パッケージ
libraryのフォルダにインストールできました。
それではRの準備として、あらためて以下コードを実行してみてください。
# Rの分析の準備
%%R
.libPaths("library")
library(tidyverse)
library(readxl)
library(openxlsx)
library(DT)
エラーなく終了すれば成功です。
毎回、インストールのために5分も取られるのは時間のムダなので、次回以降は素早く読み込めるように、以下のコードを実行してライブラリの圧縮ファイルを作成しておきましょう。
import tarfile
with tarfile.open('library.tar.gz', 'w:gz') as tar:
tar.add('library')
ライブラリの圧縮ファイル「library.tar.gz」ができました。
このままでは、作業終了後に消えてしまうので、「library.tar.gz」をdriveの「Colab Notebooks」の
フォルダにドラッグして移動させます。
※以前作った「library.tar.gz」がすでに「Colab Netebooks」にある場合は削除しておきます。
「Colab Notebooks」に移動できました。
これでRのパッケージの圧縮保存ができました。次回からはインストール作業しなくても読み込めるのでかなり時間短縮になります。