先日知り合った方から、Exploratoryの紹介をしていただき、Rをカジュアルに利用できる可視化ツールとのことで関心を持っていたのですが、さっそくこのブログのアクセス関連のデータを集計・可視化してみようと思います。
【目次】
・Exploratoryについて
・ダウンロードとインストール
・データの読み込み(Built in)と可視化
・データの読み込み(With R)と可視化
・dplyrの活用
・使ってみて思うところ
Exploratoryについて
ExploratoryはRを用いた、前処理・可視化・分析のためのデスクトップアプリケーションです。Amazon Redshift、Google BigQuery、PostgreSQL、MySQL、MongoDB、Presto、Google Analytics、Google Spreadsheet、Twitter、Web Page Scraping、CSV、Excel、JSON、Statistical files、R scriptなどの豊富なデータソースを利用できるようです。特に、Rのscriptでデータを取得できるのは魅力的だなぁと思いました。加えて、前処理に適したRの関数(dplyrなど)をカジュアルに扱えるようなコマンドラインもありますので、前処理しながら可視化するという作業がしやすいと思われます。分析に関しては、クラスター分析、分類、回帰、アソシエーションルール、相関、類似度、自然言語処理、文書感情分析などができるようです。まぁ、やりたい分析に関するパッケージは新しくRにインストールしてしまえばいいので、R使いにとって自由度の高い環境と言えます。
ダウンロードとインストール
こちらのExploratory公式サイト( https://exploratory.io/download )でemailアドレスなどのアカウント情報を入力してダウンロードできます。あとはインストールしてしまえば良いです。Rに関してもExploratoryに対応したバージョンをインストールしてくれます。後は、アプリケーションを開いて、Create Newのボタンを押して分析スタートです。
データの読み込み(Built in)と可視化
私はGoogle Analytics(GA)のデータをよく使うので、さっそくExploratoryで読み込んでみました。
自分のGAのプロパティやビューを選んで、任意の期間を選び、好きなDimensionやMetricsを選択して抽出されたデータを確認してOKすれば読み込みは完了です。非常に簡単でしたし、データを確認しながらDimensionやMetricsを選べるのは試行錯誤しやすく便利です。
ピボットテーブルが非常に使いやすく、デバイス別・ページ別の直帰率の集計も楽にできました。
データの読み込み(With R)と可視化
私が魅力に感じたのはデータ読み込みの際に、Rのscriptをそのまま使えることです。RMeCabを使えばテキストデータを形態素解析して可視化することもできますし、RFinanceなどで取得した株価のデータとかも使えるわけです。これまでに使ってたコードをそのまま使えるのは嬉しい限りです。今回は恥ずかしながら私のブログのGoogle検索結果のクエリをGoogle Search Console APIを使って取得し、可視化にチャレンジしてみます。
Google Search Consoleは以下のコマンドでAPIからデータ取得が可能です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
library("googleAuthR") library("searchConsoleR") gar_auth() sc_websites <- list_websites() own_site <- "http://kamonohashiperry.com/" time_period_start <- "2016-07-01" ###任意の開始日を記入 time_period_end <- "2016-09-20" ###任意の終了日を記入 filter_url <- c("page~~/") dataset <- search_analytics(siteURL = sc_websites[match(own_site,sc_websites[,1]),1], startDate = as.character(as.Date(time_period_start) ), endDate = as.character(as.Date(time_period_end) ), dimensions = c("query","page","device","date"), dimensionFilterExp = filter_url, searchType = "web", rowLimit = 5000) |
Google検索クエリの検索結果上での私のブログのデバイス別、順位・CTR・インプレッション数・クリック数を3D散布図に描いてみました。
こんな感じで結果のグラフなどをシェアできるようです。触れば動きます。
時系列データに関してもサクサク作れたので、私のブログのデバイス別の平均順位を時系列で描写してみました。
カーソルを合わせたらデータの詳細が表示されます。
dplyrの活用
細かい前処理がしたい場合は、画面上にあるcommandのウインドウでdplyrのコマンドを叩けば痒いところに手が届かせることも可能です。
使ってみて思うところ
RやPythonを使っている我々にとって、Tableauを使うモチベーションが非常に低かったんですが、Rとつないで好き放題できる環境というのは非常に魅力的だと思いました。私は個人的にWebスクレイピングを結構しているので、テキストデータの可視化などにもチャレンジしてみたいです。数をこなして可視化のセンスを磨きたい。