VS2017でRのTURF分析をやってみた。
最近TURF分析という言葉を初めて聞いたので、VS2017でR言語の環境を作り、 簡単なデータを分析してみました。
TURF分析とは
こちらのサイトによると『生活者へのリーチが最大になるような商品の組み合わせを得ることができる分析手法』とのこと。
R言語で書いてみる
こちらのサイトを参考にTURF分析パッケージのturfRを利用して実際に分析を実施してみます。
開発環境の作成
今回はVS2017Communityを利用するので、まずはVS2017でRを実行できるように、 R Tools for Visual Studioをインストールします。
- Visual Studio インストーラーを起動。
- [データ サイエンスと分析のアプリケーション] ワークロードを選択。
プロジェクトの作成
- ファイル→新規作成→プロジェクト から新しいプロジェクトを作成。 1.インストール済みからRを選択してRプロジェクトを選択。
パッケージのインストール
turf分析用パッケージturfRのインストールをします。
- R Tools→ウィンドウ→パッケージ もしくはCtrl+7でRパッケージマネージャーを開く。
- 検索ボックスにturfRと入力して検索。
- turfRを選択してインストールをクリック。
分析コードを書く。
参考サイトと同様に、turf関数を利用して分析してみます。
今回はサンプルデータではなく下記のようなDataFrameでデータを作成して分析してます。
respid | wgt | item1 | item2 | item3 | item4 | item5 |
---|---|---|---|---|---|---|
1 | 1 | 1 | 0 | 1 | 0 | 0 |
2 | 1 | 1 | 1 | 0 | 0 | 0 |
3 | 1 | 1 | 1 | 0 | 0 | 0 |
4 | 1 | 1 | 1 | 1 | 0 | 1 |
5 | 1 | 0 | 0 | 0 | 1 | 0 |
6 | 1 | 0 | 0 | 0 | 1 | 0 |
7 | 1 | 1 | 1 | 0 | 0 | 0 |
8 | 1 | 1 | 0 | 1 | 0 | 0 |
9 | 1 | 0 | 0 | 0 | 1 | 0 |
10 | 1 | 0 | 0 | 0 | 0 | 1 |
library(turfR) Respid <- 1:10 targetData <- data.frame( respid = Respid, wgt = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1), item1 = c(1, 1, 1, 1, 0,0, 1, 1, 0, 0), item2 = c(0, 1, 1, 1, 0, 0, 1, 0, 0, 0), item3 = c(1, 0, 0, 1, 0, 0, 0, 1, 0, 0), item4 = c(0, 0, 0, 0, 1, 1, 0, 0, 1, 0), item5 = c(0, 0, 0, 1, 0, 0, 0, 0, 0, 1) ) ex1 <- turf(targetData , 5, 2) head(ex1$turf[[1]])
実行するにはCtrl+Aでコードを全選択し、Ctrl+Enterで対話型で実行できます。 実行結果はRインタラクティブウィンドウに表示されます。 今回の実行結果は
combo | rchX | frqX | 1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|---|---|---|
3 | 0.9 | 0.9 | 1 | 0 | 0 | 1 | 0 |
4 | 0.7 | 0.8 | 1 | 0 | 0 | 0 | 1 |
6 | 0.7 | 0.7 | 0 | 1 | 0 | 1 | 0 |
1 | 0.6 | 1.0 | 1 | 1 | 0 | 0 | 0 |
2 | 0.6 | 0.9 | 1 | 0 | 1 | 0 | 0 |
5 | 0.6 | 0.7 | 0 | 1 | 1 | 0 | 0 |
となって、Item1とItem4の組み合わせが良さそうです。
感想
始めてVS2017でR言語の環境を作ってTurf分析をやってみましたが、 これくらいのデータであれば思った以上に簡単に作成できました。