R GoogleAnalyticsを使う

相当大変。
というよりも、パッケージが起動しているのかイマイチ把握しづらいです。
今の感じだと、素直にGAのデータをCSVにコピペして使った方が早い感じです。
そりゃ、ネットにもあまりリファレンスないわけだ・・・。

ということで、使って行きましょう。

パッケージ「R GoogleAnalytics」を使うためには以下の容易が必要です。

①RGoogleAnalyticsパッケージ
②RCurlパッケージ
③rjsonパッケージ

①RGoogleAnalyticsパッケージのインストールはターミナルが必要です。
以下のようにインストールします。

cd ~/Downloads && cp RGoogleAnalytics_1.2.tar.gz ~/r_study
tar zxvf RGoogleAnalytics_1.2.tar.gz

無事インストールできたら、いよいよRを起動します。

次の関門がGAのアカウントとの連携です。
以下の流れで連携していきます。

①R起動
②ライブラリ読み込み

> library(RCurl)
> library(rjson)

③RGoogleAnalyticsのロード
> source(‘./RGoogleAnalytics/R/RGoogleAnalytics.R’)
> source(“./RGoogleAnalytics/R/QueryBuilder.R”)

しかし、私の場合はこの以下のようなエラーが・・・。

> source(‘./RGoogleAnalytics/R/RGoogleAnalytics.R’)
以下にエラー file(filename, “r”, encoding = encoding) :
コネクションを開くことができません
追加情報: 警告メッセージ:
In file(filename, “r”, encoding = encoding) :
ファイル ‘./RGoogleAnalytics/R/RGoogleAnalytics.R’ を開くことができません: No such file or directory

要するに、ファイル開きませんよ、と。
で、私の場合は「パッケージとデータ > パッケージマネージャ」で、「RGoogleAnalytics」を含めて、「RCurl」「rjson」も合わせて開くことにしました。

パッケージマネージャの左をロード済みにするだけで速攻で読み出し可能に。
さっきのエラーはなんだったんだろうか。

ひとまずこれで起動は完了。
認証に移ります。

> query <- QueryBuilder() > access_token <- query$authorize() のようにRに入力していくと、自動でブラウザが立ち上がり、アクセストークンを入れるように促されます。 「Allow Access」ボタンを押して、次ページにある「Exchange authorization code for tokens」を押下。 右のソースっぽいウィンドウの下に「"access_token" :"✕✕✕✕✕✕✕✕✕✕✕✕✕✕✕✕"」の「✕」部分をコピーします。 Rのコンソールに戻ります。 以下の英文が書かれていますので(要するにアクセストークンを入れるんだ的なことが書かれている)、最下部の「Paste the access token here :=>」の後に先ほどコピーしたアクセストークンをペーストします。

The GA data extraction process required access token. To accept the accesstoken from Oauth 2.0 Playground, you need to follow certain steps in your browser. This access token will be valid untill an hour only.

Steps to be followed :
1. Authorize your Google Analytics account by providing email and password.
2. On left side of the scrren click on the button ‘Exchange authorization code for tokens’ to generate the access token.
3. Copy the generated access token and paste it here.

Paste the access token here :=>

ペーストすると、あっさり「>」が出てきて認証完了となります。

続いて、GAのデータを取ってきます。
データを格納する変数「ga」を作ります。
まずはアクセストークンとの認証確認から。

> ga <- RGoogleAnalytics() > ga.profiles <- ga$GetProfileData(access_token) 無事通過たら次へ進みます。 「start.data」が開始日、「end.date」が終了日。 「dimensions」のところで、日と時間を指定しています。ラベル軸っぽいイメージ 「metrics」はデータの指定。ここでは訪問数を入れていますが、PVや滞在時間なども指定することができます。 「max.results」でデータの最大数の指定します。どこまで指定できるかは実験していませんが、ここでは1万行を指定。 > query$Init(start.date = “2013-04-01″,
+ end.date = “2013-04-27″,
+ dimensions = c(“ga:date”,”ga:hour”),
+ metrics = “ga:visitors”,
+ sort = “ga:date”,
+ #filters=””,
+ #segment=””,
+ max.results = 10000,
+ table.id = paste(“ga:”,ga.profiles$id[1],sep=””,collapse=”,”),
+ access_token=access_token)

続いて、上記指定のクエリを実行します。

ga.data <- ga$GetReportData(query) これで、変数「ga.data」に上記データが格納された状態となります。 以降は普通にデータをイジイジできるようになります。 ここでは、このデータを使ってヒートマップを作っていくことにします。 > hour = ga.data[,2] #時刻
> day = ga.data[,1] #日付
> visitors = ga.data[,3] #訪問者数
> levelplot( tapply(visitors,list(hour,day),sum) ,
+ col.regions=colorRampPalette(c(“white”,”red”)),
+ xlab=”Hour” , ylab=”Date” ,main=”Visitors”
+ )

実行結果は以下。
スクリーンショット 2013-04-29 0.01.21

白白してますが、これが私のブログの実情。

色々ありましたが、ひとまず成功ということで。
まだ、解析をし切れていませんのでいずれ。

Leave a Reply

%d人のブロガーが「いいね」をつけました。