Tableau&R連携(1) – Tableau Desktopからローカル環境のRServeに接続する

2015.02.16

最近社内では『統計学』であったり『R』と言ったテーマに興味を持つメンバーが増え、Rと統計学を扱った書籍の社内読書会を始めました。ビッグデータ周りの案件及び対応するチームメンバーも増えて来ており、ある意味自然な流れとも言えるのかも知れません。

そんな中、Tableauも実はRとの連携機能があったりします。公式サイトの情報に拠ると使える機能は限られている様ですが、幾つかの関数をTableau上でも扱えるようです。当エントリではローカル環境(Mac OS X)にRをインストールし、ローカル環境でRserveというサーバー機能を稼働させた状態でTableau上でRを使う環境の構築手順についてご紹介して行きたいと思います。

目次

Tableauに於けるRの機能(制限)について

下記が、最も詳しいと思われるTableau公式の『R連携』に関するホワイトペーパーです。読んでみると、Rに関する全ての機能を使えるという訳では無く、一部の機能が扱えるに留まっている様です。

(以下抜粋) 特定の R モデルや関数を呼び出すために使用する、4 つの関数が新たに使用できるようになりました。 関数は次のとおりです。 ・SCRIPT_REAL ・SCRIPT_STR ・SCRIPT_INT ・SCRIPT_BOOL これらの関数は、返す結果の種類のみが異なります (実数、文字列、整数、ブール)。

また、『使用できないRの機能』として、以下の様な記述が成されています。

(以下抜粋) Tableau は、前述の計算関数を通じてのみ R と統合できます。 つまり、R の主要な機能の 中には Tableau 自体で直接使用することができないものもあります。 ・Tableau から R に直接データをエクスポートして、SCRIPT_* 関数以外で 新しいモデルを実行することはできません。 ・R で作成されたビジュアライゼーションを Tableau に直接インポートすることはできません。 ただし、R ビジュアライゼーションのイメージ ファイルや R ビジュアライゼーションへの URLであれば、 Tableau ダッシュボードで使用できる場合があります。 ・データセットを R から Tableau にインポートすることはできません。 計算フィールドで SCRIPT_* 関数を使用した場合にのみ、R からデータを取得することができます。 ただし、R を使用してサポートされるデータソース (CSV など) 経由でデータをエクスポートすれば、 Tableau でデータを視覚化することができます。

Rのインストール(on Mac OS X)

Rの公式サイトは以下となります。

install-r-on-mac-osx-01

インストーラは各国のミラーサイトに展開されていますので、今回は日本の以下サイトからMacのインストーラを入手してみます。(R-3.1.2-mavericks.pkgをダウンロードしました)

インストーラを起動。インストール手順は特に悩む部分は無いのでそのまま進めてください。

install-r-on-mac-osx-02

インストール完了後、アプリを起動。

install-r-on-mac-osx-03

起動後にメニューの[パッケージとデータ]→[パッケージインストーラ]を選択。ここでRserveと呼ばれるパッケージをインストールします。[一覧を取得]ボタン押下後右側のテキストボックスに『Rserve』と入力、出て来た候補を選択し、併せて『依存パッケージも含める』のチェックを入れた状態で[選択のインストール]を実行します。

install-r-on-mac-osx-04

すると起動コンソールの方でインストール作業が進みます。以下の様に出てくればインストール完了です。

R version 3.1.2 (2014-10-31) -- "Pumpkin Helmet"
Copyright (C) 2014 The R Foundation for Statistical Computing
Platform: x86_64-apple-darwin13.4.0 (64-bit)

R は、自由なソフトウェアであり、「完全に無保証」です。 
 一定の条件に従えば、自由にこれを再配布することができます。 
 配布条件の詳細に関しては、'license()' あるいは 'licence()' と入力してください。 

R は多くの貢献者による共同プロジェクトです。 
 詳しくは 'contributors()' と入力してください。 
 また、R や R のパッケージを出版物で引用する際の形式については 
 'citation()' と入力してください。 

 'demo()' と入力すればデモをみることができます。 
 'help()' とすればオンラインヘルプが出ます。 
 'help.start()' で HTML ブラウザによるヘルプがみられます。 
 'q()' と入力すれば R を終了します。 

[R.app GUI 1.65 (6833) x86_64-apple-darwin13.4.0]

[履歴が次のファイルから読み込まれました /Users/xxxxxx/.Rapp.history]

also installing the dependency ‘RSclient’

 URL 'http://cran.ism.ac.jp/bin/macosx/mavericks/contrib/3.1/RSclient_0.7-2.tgz' を試しています 
Content type 'application/x-gzip' length 93025 bytes (90 Kb)
 開かれた URL 
==================================================
downloaded 90 Kb

 URL 'http://cran.ism.ac.jp/bin/macosx/mavericks/contrib/3.1/Rserve_1.7-3.tgz' を試しています 
Content type 'application/x-gzip' length 331255 bytes (323 Kb)
 開かれた URL 
==================================================
downloaded 323 Kb


 ダウンロードされたパッケージは、以下にあります 
 	/var/folders/0p/txcr_y5x2ysftwln9rlx5yd80000gn/T//RtmpZu0xqC/downloaded_packages 
>

また、この後扱う事になるTableauワークブックの為に、『plyr』というパッケージも追加で入れておいてください。

install-r-on-mac-osx-05

Rserveの起動

起動は至ってシンプルです。以下の様に事前にライブラリを読み込み、起動コマンドを実行するのみ。起動時のオプションについては以下ページ等をご参照ください。

> library(Rserve)
> library(plyr)
> Rserve(args='--vanilla')
Starting Rserve:
 /Library/Frameworks/R.framework/Resources/bin/R CMD /Library/Frameworks/R.framework/Versions/3.1/Resources/library/Rserve/libs//Rserve --vanilla 


R version 3.1.2 (2014-10-31) -- "Pumpkin Helmet"
Copyright (C) 2014 The R Foundation for Statistical Computing
Platform: x86_64-apple-darwin13.4.0 (64-bit)

R は、自由なソフトウェアであり、「完全に無保証」です。 
 一定の条件に従えば、自由にこれを再配布することができます。 
 配布条件の詳細に関しては、'license()' あるいは 'licence()' と入力してください。 

R は多くの貢献者による共同プロジェクトです。 
 詳しくは 'contributors()' と入力してください。 
 また、R や R のパッケージを出版物で引用する際の形式については 
 'citation()' と入力してください。 

 'demo()' と入力すればデモをみることができます。 
 'help()' とすればオンラインヘルプが出ます。 
 'help.start()' で HTML ブラウザによるヘルプがみられます。 
 'q()' と入力すれば R を終了します。 

Rserv started in daemon mode.
>

Tableau DesktopからのR接続確認

接続確認には以下サイトで公開されている、R連携機能を使ったパッケージドワークブックを使います。

K-means法を用いた以下ファイルとなります。事前にダウンロードしておいてください。

上記ダウンロードしたファイルを開く前に、Tableau Desktopを開き[ヘルプ]→[設定とパフォーマンス]→[R接続の管理]を選択。

install-r-on-mac-osx-06

接続サーバ情報を設定するダイアログが開きますので、ローカルホストに関する情報を設定。パスワードについては今回の場合特に必要はありません。テスト接続実行の後、[OK]で先に進めてください。

install-r-on-mac-osx-07

ダウンロードしたファイルを開きます。

install-r-on-mac-osx-08

下記の様にアラートが出ますがそのまま先に進めましょう。

install-r-on-mac-osx-09

以下の様にR機能を用いたTableauのビューが表示されました!

install-r-on-mac-osx-10

『計算フィールド』の関数にも、以下の様に『SCRIPT_*』系のものが使えるようになっています。

install-r-on-mac-osx-11

まとめ

Tableau Desktopを稼働している環境下でR環境を構築し、それら環境を連携する手順に関するご紹介でした。意外と手順としてはシンプルだったりしますので、Tableauも使い始めたばかり&Rについても勉強したいという方にはちょうど良い環境が出来上がるのでは無いでしょうか。

また、同時公開した下記のエントリではR環境を外部サーバに構築し、Tableau Desktopから接続後Tableau Serverに共有する手順についてもご紹介していますので併せて御覧頂けますと幸いです。こちらからは以上です。