Rで解析:Google Analyticsの解析「googleAnalyticsR」パッケージ


大変に久しぶりなGoogle Analyticsの解析に便利なパッケージの紹介です。Google Analyticsの解析には「RGA」パッケージもあります。どちらが好みかは試して判断してください。

「googleAnalyticsR」パッケージを利用してコホート分析も可能になっていることに驚きました。日々Rやパッケージは進化していることを実感します。最近、Omics解析に関わることができ血湧き肉躍る、そんな状況でRの知見がどこまで役に立てるか楽しみです。

そして、劇場版 境界の彼方 -I’LL BE HERE- を流し見しながら「ああ、やはり『アニメもからだにいいものです』、ざまあみろ」と想うのです。そして梅雨も明けて、夏陰を探しつつ、ひぐらしが鳴くのが待ち遠しいのです。少し不思議って大切だと思います。

パッケージバージョンは0.2.1。実行コマンドはwindows 7およびOS X 10.11.5のR version 3.3.0で確認しています。

パッケージのインストール

下記コマンドを実行してください。

#パッケージのインストール
install.packages("googleAuthR")
install.packages("googleAnalyticsR")

実行コマンドの紹介

詳細はコマンド、パッケージのヘルプを確認してください。

#パッケージの読み込み
library("googleAnalyticsR")

#Googleアカウントと連携:ga_authコマンド
#コンソールにメッセージが表示された場合は指示に従ってください
#Googleアカウントを選び直す:new_userオプション;初期値FALSE
ga_auth()

#最新のdimensionsとmetricsを取得:google_analytics_metaコマンド
DimMet <- google_analytics_meta()
#作業フォルダにcsvで出力
write.csv(DimMet, "dimensions_metrics.csv")

#Googleアカウントで管理しているサイトを取得:google_analytics_account_listコマンド
AcountList <- google_analytics_account_list()
#以下アカウントにより内容は異なるものがあります
#取得データの構造
dim(AcountList)
[1]  5 11
#列名の確認
colnames(AcountList)
[1] "accountId"             "accountName"           "webPropertyId"
[4] "webPropertyName"       "internalWebPropertyId" "level"
[7] "websiteUrl"            "viewId"                "viewName"
[10] "type"                  "starred"

#GoogleAnalyticsのデータを取得:google_analytics_4コマンド
#解析サイトの指定:viewIdオプション
#取得日時の指定:date_rangeオプション
#dimensionsの指定:dimensionsオプション
#metricsの指定:metricsオプション
#取得データのフィルタリング:filtersExpressionオプション
#dimensionsデータのフィルタリング:dim_filtersオプション
#met_filtersデータのフィルタリング:met_filtersオプション
#取得データ数の設定:maxオプション;初期値1000
#解析対象サイトの指定はgoogle_analytics_account_listコマンドで取得した"viewId"です
GA_ID <- AcountList[2, 8]
GetGAData <- google_analytics_4(viewId = GA_ID,
                                date_range = c("2016-06-01", "2016-06-30"),
                                dimensions = c("source", "medium"),
                                metrics = c("sessions", "bounces"),
                                filtersExpression = "ga:source!=(direct)",
                                dim_filters = NULL, met_filters = NULL)
#データ確認
head(GetGAData[sort.list(GetGAData[, 3], decreasing = TRUE),])
                        source   medium sessions bounces
29                      google  organic   318164  741824
78                       yahoo  organic    64288    4634
31 googleads.g.doubleclick.net referral    28728   13593
68                        t.co referral    19080   15836
48        monetizationking.net referral    10656    8307
11              b.hatena.ne.jp referral     6248    1536

#取得日時を複数指定した場合
GetGAData2 <- google_analytics_4(viewId = GA_ID,
                                 date_range = c("2016-06-01", "2016-06-30",
                                                "2016-05-01", "2016-05-31"),
                                 dimensions = c("source", "medium"),
                                 metrics = c("sessions", "bounces"),
                                 filtersExpression = "ga:source!=(direct)",
                                 dim_filters = NULL, met_filters = NULL)
#データ確認
head(GetGAData2[sort.list(GetGAData2[, 3], decreasing = TRUE),])
                         source   medium sessions.d1 bounces.d1 sessions.d2 bounces.d2
35                       google  organic      752024      71968      762624     312622
107                       yahoo  organic       76832      11916       40704      49685
92                         t.co referral       25560       7252       47619      53361
37  googleads.g.doubleclick.net referral       17388      19503        6745      24198
63         monetizationking.net referral       10656       3976        2210       1350
16                         bing  organic        8200       4536       15264      18705

#metricsは計算式も可能
GetGAData3 <- google_analytics_4(viewId = GA_ID,
                                 date_range = c("2016-06-01", "2016-06-30"),
                                 dimensions = c("source", "medium"),
                                 metrics = c(PVPerSwssion = "ga:pageviews/ga:sessions",
                                             "bounces"))
#データ確認
head(GetGAData3[sort.list(GetGAData3[, 3], decreasing = TRUE),])
                        source   medium PVPerSwssion bounces
22                     dlvr.it  twitter         1680       0
21                   diigo.com referral         1530       0
65            sites.google.com referral         1196     696
19       delta0726.web.fc2.com referral         1144      88
72                 twitter.com referral          707      31
80 zawazawalong.hatenablog.com referral          504       0

#コホート分析:make_cohort_groupコマンド
#期間はlistで指定
CohortQuery <- make_cohort_group(list("cohort1" = c("2016-05-15", "2016-05-15"),
                                      "cohort2" = c("2016-06-19","2016-06-19")))
#google_analytics_4コマンドには
#cohortオプション,dimensionsに"cohort",metricsに"cohortTotalUsers"を指定
#その他のdimensions,metricsはgoogle_analytics_metaコマンドで確認
GetGAData4 <- google_analytics_4(viewId = GA_ID,
                                 cohort = CohortQuery,
                                 dimensions = c("cohort", "ga:cohortNthDay"),
                                 metrics = c("ga:cohortActiveUsers",
                                             "ga:cohortTotalUsers"))
#データ確認
#指定した日を基準に以降のユーザー維持数を取得
#一部データを省略しています
GetGAData4
     cohort cohortNthDay cohortActiveUsers cohortTotalUsers
1   cohort1         0000                91               91
2   cohort1         0001                 5               91
3   cohort1         0002                 1               91
4   cohort1         0003                 1               91
5   cohort1         0004                 1               91
66  cohort1         0065                 0                0
67  cohort2         0000               218              218
68  cohort2         0001                10              218
69  cohort2         0002                 7              218
70  cohort2         0003                 2              218
71  cohort2         0004                 2              218
72  cohort2         0005                 3              218
73  cohort2         0006                 1              218
74  cohort2         0007                 3              218
75  cohort2         0008                 0                0
76  cohort2         0009                 2              218

色々な物語が生まれることを祈って、少しでも、あなたのウェブや実験の解析が楽になりますように!!

スポンサードリンク

おすすめコンテンツ


スポンサードリンク