#tableau #data17 [レポート] R 連携を利用した Jedi の戦略 – Tableau Conference On Tour 2017 Tokyo
先日2017/04/18(火)〜2017/04/19(水)の2日間に渡り、ウェスティンホテル東京@恵比寿にて行われたカンファレンスイベント 『Tableau Conference 2017 On Tour Tokyo』。
当エントリでは、イベント1日目(2017/04/18)に開催されたテクニカルセッション『R 連携を利用した Jedi の戦略』についてその内容をご紹介したいと思います。
目次
セッション情報:概要
事前に公開されていたセッションの概要情報は以下となります。
Speaker: 津久井 英樹 レベル: Jedi タイプ: ブレイクアウトセッション 場所: スタールーム B
セッション内容レポート
冒頭まずはじめに『ゼブラ貝の拡散』に関するデータを使いデモを実施。
入力値の緯度経度情報を用い、州の情報をアウトプットとして出力、この処理にR言語を用いている。
R言語の簡単な解説を。Rは統計及びグラフ作成に適したプログラミング言語で、
- 7000を超えるオフィシャルパッケージ
- テキストのセンチメント分析
- 色分析
等が行える。
SCRIPT_* 関数というものがTableauには用意されており、この実演デモで見せたものについてもこの関数(SCTIPT_STR)を用いている。TableauヘルプのR連携に関する言及箇所は以下。
また、TableauにおけるR関連の関数は以下に記載あり。
- 表計算関数
- SCRIPT_BOOL:指定された式からブールの結果を返す。
- SCRIPT_INT:指定された式から整数の結果を返す。
- SCRIPT_REAL:指定された式から実際の結果を返す。
- SCRIPT_STR:指定された式から文字列の結果を返す。
使い方としては
- 1.ライブラリをロードし、
- 2.関数を定義、
- 3.そして値を戻す
という流れ。
先のデモも上記の例に則って計算フィールドを作成して活用している。
R連携:パフォーマンス向上
R連携において処理性能を上げるポイントとしては以下2つ。
速さの第1ルール
表計算ダイアログの編集で出来るだけ多くのボックスをチェックする事でRへの呼び出し回数を減らすと、パフォーマンス向上が見込める。
速さの第2ルール
出来るだけ多くのコードをソースファイルに移動させ、Rへの受け渡し回数を減らす。これパフォーマンス改善が見込める。(ソースファイルへの移動手段については後述)
R連携:動作を理解するための方法
R言語ではRserveという、R言語のサーバ環境を構築する事が可能。大まかな処理の流れは以下の様な形となる。
以下のコードでサーバが起動(※Macの場合)し、コンソール出力が行える。
install.packages("Rserver") library(Rserve) Rserve(args=' --no-sage')
パラメータ指定も可能。
R連携:戻り値を制御する方法
次いで実施されたデモは『凸包』に関するもの。
この仕組みを使い、より少ないポイントを返すようにRで制御を行っている。
また逆に、『熊よけスプレー』『空港間の2点間の距離を表現』するデモで送信数より多くのデータを戻す方法についても解説。
R連携:Tableau Serverでの利用
Tableau ServerとRServeを連携させた場合の構成は以下のようなものとなります。
構成を組む上で気を付けるセキュリティのポイントは以下。
まとめ
以上、TableauとRの連携に関するJediセッションのご紹介でした。利用には幾つかの手順を必要としますが、Rの豊富なライブラリや機能を可視化に活用出来るのは非常に心強いものとなると思います。状況に応じて活用出来るように学んでおきたいところですね。TableauとRの連携については以下各種情報も参考にしてみてください。
参考情報
- Tableau + R 連携で知っておきたいこと |Tableau Community
- TableauでRをつかってみよう!(準備編) | Tableau Padawan's Tips & Tricks
- TableauでRをつかってみよう!(実践編) | Tableau Padawan's Tips & Tricks
- Tableau + R 連携を使いこなそう! その1 - 簡単な足し算に挑戦 | Tableau Padawan's Tips & Tricks
- Tableau + R 連携を使いこなそう! その2 - K-meansクラスタリングに挑戦 | Tableau Padawan's Tips & Tricks
- Tableau + R 連携を使いこなそう! その3 - 時系列分析に挑戦 | Tableau Padawan's Tips & Tricks
- Tableau&R連携(1) – Tableau Desktopからローカル環境のRServeに接続する | Developers.IO
- Tableau&R連携(2) – AWS上に構築したRserveとTableau Serverでコンテンツを共有 | Developers.IO