MacOSX上のRStudio Previewで、R Notebookを使ってみたので、
利用するまでの手順をメモに残しておきます。

このエントリで試したのは、以下の点です。

  • RとRStudioPreview版のインストール
  • RStudioからR Notebookのサンプルを表示
  • 作成したR NotebookをGitHub Pagesで公開する
  • MySQLに保存されたデータを使ってNotebookを作成する

このエントリでは以下のバージョンのRStudioを利用しました。
RStudio 1.0.25 - Mac OS X 10.6+ (64-bit)

RStudioでのR Notebook機能については、以下のURLに記載があります。

R Notebooks
http://rmarkdown.rstudio.com/r_notebooks.html

RとRStudioPreview版のインストール

R ProjectのサイトからRをダウンロードしてインストール。
RStudioは以下のURLからPreview版をインストールします。

The R Project for Statistical Computing
https://www.r-project.org/

RStudio Preview - RStudio
https://www.rstudio.com/products/rstudio/download/preview/

RStudioからR Notebookのサンプルを表示

Preview版のRStudioをインストールし実行すると、
以下のイメージのように、R Notebookを作成できるようになっていることが確認できます。

rnotebooks01

ここでR Notebookを選び、以下のダイアログが表示されるので、
画面の指示に従い依存するパッケージ群をインストールします。

rnotebooks02

パッケージのインストールが終わると、
次のようなR Notebookのサンプルが表示されます。

rnotebooks03

Rのコードが書かれている部分で、
Shift+Control+Enterを押すと、Rの実行結果が次のように表示されます。

rnotebooks04

メニューから、File→SaveAsを選んで保存すると、
次のように「rmd」「nb.html」拡張子のファイルが作成されます。

rnotebooks05

「nb.html」拡張子のファイルは、以下のようにブラウザで閲覧できます。

rnotebooks06

作成したR NotebookをGitHub Pagesで公開する

「nb.html」ファイルはブラウザで閲覧できるので、
GitHub Pagesの機能でインターネット上に公開してみます。

実際に以下のURLで公開してみました。
このような形であれば、
ブラウザのみで閲覧できるのでRを使っていない人にNotebookを見てもらうのも便利ですね。

https://takemikami.github.io/rnotebooks-sandbox/2016/2016-09/sample.nb.html

GitHubPagesでの公開は、
「gh-pages」というブランチに公開したいファイルをpushすると、
「http:// [githubのアカウント名] .github.io/ [リポジトリ名]/」というルールのURLでファイルが公開されます。

GitHubPagesについては、以下を参照してください。

GitHub Page
https://pages.github.com/

# この方法では認証なしの状態でインターネットに公開されてしまうので、
# インターネットに公開できないNotebookの場合は、他の共有方法で。

MySQLに保存されたデータを使ってNotebookを作成する

実務ではDBからデータを取得して分析することも多いと思われるので、
MySQLにアクセスしてNotebookを作ってみます。

RMySQLのインストール

以下のように、RMySQLをインストールします。

install.packages("DBI")
install.packages("RMySQL")

MySQLからのデータ取得と表示

R Notebookには、以下のようにDBへの接続・クエリ実行・DBから切断・データの参照の処理を書きます。

DBへの接続

library(RMySQL)
dbdrv <- dbDriver("MySQL")
dbconn <- dbConnect(dbdrv,
                    host="※DBホスト名を指定※",
                    dbname="※DB名を指定※",
                    user="※DBユーザ名を指定※",
                    password="※DBパスワードを指定※")

クエリ実行

sales <- dbGetQuery(dbconn, "select * from sales")

DBから切断

dbDisconnect(dbconn)

データの参照

head(sales)

DB接続情報の切り出し

だだし、このままでは公開するNotebookの中にDBの接続情報が入ってしまうので、 接続情報を「.Rprofile」に切り出します。
「.Rpofile」には以下のような内容を記載し、DBへの接続部分は環境変数を見るように書き換えます.

~/.Rprofile

# mysql setting
Sys.setenv(MYSQL_HOST="※DBホスト名を指定※")
Sys.setenv(MYSQL_DB="※DB名を指定※")
Sys.setenv(MYSQL_USER="※DBユーザ名を指定※")
Sys.setenv(MYSQL_PASSWD="※DBパスワードを指定※")

DBへの接続

library(RMySQL)
dbdrv <- dbDriver("MySQL")
dbconn <- dbConnect(dbdrv,
                    host=Sys.getenv("MYSQL_HOST"),
                    dbname=Sys.getenv("MYSQL_DB"),
                    user=Sys.getenv("MYSQL_USER"),
                    password=Sys.getenv("MYSQL_PASSWD"))

以上の手続きで作成したR Notebookを次のURLに公開しています。

https://takemikami.github.io/rnotebooks-sandbox/2016/2016-09/mysql-sample.nb.html