はじめに

Jupyter notebookはデータ解析をする上で素晴らしい環境だと思います。
ただ、RをJupyter notebook上で動かす環境を構築する際、よくまとまった資料が無かったので
備忘録も兼ねて書き留めておきます。
特に、表題の通りDockerを使って、仮想化と再現性を担保しつつ、R上でjupyterを使う環境を簡単に構築することを目的とします。(なるべくDockerとかanacondaとか知らない人でも構築できるようにしているつもりです。)

なお、この記事は Windows 10 Pro または Enterprise の方を対象としています。
Macの方
以下のリンクへどうぞ。
私のデータ解析環境構築 for Mac (Docker + anaconda + Jupyter + R)

windows 10 pro, Enterprise 64bit 以外の方
Docker ToolBoxを使えばおそらく同じようにできると思いますが,試してないです.すみません,,,

こんな人におすすめ

    • R言語でデータ解析したいけどpythonも使いたい

 

    • 環境は仮想化しておきたい

 

    • 綺麗なインターフェースを使いたい

 

    • 解析結果の再現性を担保したい

 

    簡単に環境構築したい

環境構築

仮想化技術を使っている方へ:
バックエンドが Hyper-V らしいので、VMWare Player と共存ができないので注意してください。

1. dockerをインストールする
ログインまたはアカウント作成後、
Docker Store(windows)からインストーラをダウンロードして,コマンドプロンプトを開き

docker info

を実行できればインストール成功です。

mac編ではスクリプトを組みましたが,windowsはよくわからなかったのでコマンドを直打ちします.

2.Jupyter Notebookを保存するディレクトリを作成し,コマンドプロンプトでそのディレクトリに移動する

cd \〇〇\〇〇〇〇\〇〇〇

3.r-jupyter notebookイメージをpullする
終わるまで割と時間がかかります

docker pull jupyter/r-notebook

4. イメージからコンテナを作成します.

docker run --rm -p 8888:8888 --name r_analysis -v "%cd%":/home/jovyan jupyter/r-notebook

5. コマンドラインに表示されたURLにアクセスします.
ただし,前半の
http://(efef3b9b0d5d or 127.0.0.1):8888/?
みたいな部分を,
http://127.0.0.1:8888/?
に変更してアクセスしてください.(efef3b9b0d5d に相当する文字と()をとってください)
Jupyterが無事開けば完了です!
お疲れ様でした。
次からは

docker run –rm -p 8888:8888 –name r_analysis -v “%cd%”:/home/jovyan jupyter/r-notebook

で 指定されたURLにアクセスすることで Jupyter を立ち上げることができます.

※注意:閉じる時は必ずセーブ(左上の保存ボタンまたは ctr+S)をしたあと、
quitボタンでサーバをシャットダウンしてから閉じるボタンで消してください。
もし忘れてしまった場合は、コマンドライン上で ctr+C を押して停止させてください。

hello R

ではこの環境で hello R してみましょう。
(閉じてしまった方はもう一度Jupyterを立ち上げましょう。立ち上がらない場合は、すでにサーバが立ち上がっているのかもしれないので、

docker ps -a -f 'name=r_analysis' --format "{{.ID}}"

を実行し,文字列が出てきたらコピーして,

docker rm 出てきた文字列

を実行してからもう一度トライしてみましょう)

image.png

最後に、セルに

print("Hello, R")
image.png
image.png

どうでもいい話

コレって結局何?というお話です。
1. docker
仮想化環境です。簡単に説明すると、コンテナという単位でアプリケーションの実行環境を分離する環境を構築するツールです。これを使うメリットとして、

    • OS等に依存せずに(どこでも誰でも)同じように動かせる環境が作れる

 

    環境が壊れたらその仮想化環境を削除すれば良いだけ(本体に影響を及ぼさない)

などのメリットがあります。

    1. anaconda (miniconda)

 

    1. もともとは、pythonの科学計算に特化したパッケージマネージャ兼仮想化ツールです。

 

    1. 今回はjupyterとR関係のモジュールを簡単かつ素早くインストールする目的で使いました。

 

    1. jupyter

 

    1. プログラムや説明の文章、実行結果などをまとめて管理できる、データ分析用のツールです。

 

    1. ブラウザで動作するため、いろいろなOSから利用できる、解析の再現性が高い、インタラクティブな解析が可能等のメリットがあります。

 

    1. R

 

    1. 言わずもがな。

 

    統計解析が得意な言語です。

まとめ

今回はJupyterでRを使う環境を構築しました。
使いこなすにはdockerの知識もある程度必要?かもしれませんので、
気になったら学習してみてください。

广告
将在 10 秒后关闭
bannerAds