見出し画像

Tableau とRの連携

こんにちは山口征啓です。
現在 TableauのDataSaberに挑戦中です。今回はTableauとRの連携をやってみます。

なぜRをTableauと連携するのか?

Tableauは素晴らしい可視化ツールで、多くの分析機能も備えています。しかし、Tableauに実装されていない分析手法もあり、RやPythonを使うと、それらの手法を使うことができます。

連携の準備

まず、あたりまえですが、TableauとRをPCにインストールします。
私はTableau DesktopとRStudioを使っています。

Rサーバーの準備

Rserveというパッケージを使って、Rサーバーを作ります。
まずはRserveをインストールして、ライブラリを読み込みます

intall.packages("Rserve") library(Rserve)

次にRserve()を実行しますが、この時に引数を指定する必要があります。

Rserve(args = "--vanilla")

Tableauのホワイトペーパーでは、引数なしのRserve()を実行するようになっていますが、これだと
Fatal error: you must specify '--save', '--no-save' or '--vanilla'
というエラーがでます

これらの引数の意味は下記のとおりです。

--save  R セッション終了時にワークスペースの内容を保存
--no-save  R セッション終了時にワークスペースの内容を保存しない
--vanilla
    
保存されたワークスペースを読み込まない (--no-restore)
    セッション終了時にワークスペースを保存しない (--no-save)
    設定ファイル (.Rprofile.Renviron) を読み込まない

今回は最もクリーンな環境になるvanillaで設定しました。これで自分のPC上にRサーバーが立ち上がりました。

確認するためにはアクティビティモニタでrserveを検索してみると、ちゃんと動いていることがわかります。


なおRサーバーを終了するには、RstudioからRserveを起動している場合は、RStudioのセッションを終了することで停止できるようです。これなら停止を忘れることもないので安心ですね。

TableuからRサーバーを使えるように設定する

続いてTableauからRサーバーへ接続します
Tableau Desktopのメニューバーから「ヘルプ」→「設定とパフォーマンス」→「分析の拡張機能接続の管理」と選択します 

接続タイプの選択画面が現れますので、Rserveを選択します

ホスト名には「localhost」を入力します。ポートにはデフォルトで6311が入力されているはずです。

左下の「テスト接続」 のボタンを押すとテスト接続の結果が表示されます。

うまくいったようです。
右下の「保存」を押して、左下の「閉じる」を押します。
これで設定完了です。

次回は実際にはTableauとRを連携してみたいと思います。

参考リンク

ホワイトペーパー:RとTableauを使用する
こちらは公式ですが、アップデートされていなくてこのままでは使えませんでした。アップデートされていないのは仕方ないとしても、いつの文章なのかは記載してほしいですね

https://www.tableau.com/ja-jp/learn/whitepapers/using-r-and-tableau


この記事が気に入ったらサポートをしてみませんか?