道玄坂lt#2 wdkz
TRANSCRIPT
2015/03/12
Tableau with R サイバー系
5
TableauがVersion8.1 から正式にRの 統合 をサポート
それまではPL/Rという、 PostgreSQLからRを使う 仕組みを使って、強引 にSQLから利用していた (人もいる)
2015/03/12
Tableau からRを使うやり方 サイバー系
6
Rを起動してRserveを起動する テーブルを読み込む 「計算フィールドの作成」からRを使う SCRIPT_STR() #returnが文字列 SCRIPT_BOOL() #returnがTRUE/FALSE SCRIPT_INT() #returnが整数値 SCRIPT_REAL() #returnが実数値
!
SCRIPT_.*(“Rコード”, …) #…はTableauから入力する項目
2015/03/12
Tableau with RのHello World サイバー系
8
何かデータに繋がないと 何もできないので適当に サンプルデータに繋いでみた
計算フィールドを選ぶ
計算フィールドをちょっと書いて
2015/03/12
Tableau でk-means サイバー系
14
計算フィールドの説明SCRIPT_STR("dat <- data.frame(Petal_length = .arg1, #data.frameを生成 Petal_width = .arg2, Sepal_length = .arg3, Sepal_width = .arg4 ); km3 <- kmeans(x = dat, #ここでk-means centers = .arg5[1]); as.character(km3$cluster)”, #これがReturnされる SUM([Petal length]), #.arg1 SUM([Petal width]), #.arg2 SUM([Sepal length]), #.arg3 SUM([Sepal width]), #.arg4 [cluster_num] #.arg5(クラスタ数) )
☆所属クラスタは本来integerだが、tableau内でカテゴリとして扱いたいので as.character()してSTR型で返す。あえてね。
2015/03/12
Tableau からRを使う場合の留意点
サイバー系
16
ここに一列追加するイメージ
☆元のテーブルの行数と同じ長さの(Rで言う)vectorを一列追加することしか 許されない!制約強すぎ!!