RでGoogle Analytics:解析コマンド「訪問者のアクセス環境の取得」

RでGoogle Analytics
スポンサーリンク

RGoogleAnalyticsパッケージで「訪問者のアクセス環境(デスクトップ,モバイル,タブレット)を取得」するコマンドを紹介します。なお、データを取得するサイトのidとトークンファイルは取得・保存している前提でコマンドを紹介します。

サイトのidとトークンファイルの取得と保存方法は「RでGoogle Analyticsの目次」から「RGoogleAnalyticsパッケージ基本的な利用方法」を確認してください。

また、解析環境が整っていない場合は「解析の準備」の項目を確認してください。初心者でも実行できるようにまとめています。

解析コマンドなどのまとめはこちらから:RでGoogle Analyticsの目次


スポンサーリンク

セッション数(訪問回数)の取得コマンドの紹介

dimensionsに「ga:deviceCategory」を指定します。
実行することで円グラフとデータがエクセルで出力されます。

library("RGoogleAnalytics")
library("XLConnect")
library("tcltk")
library("ggplot2")

TableID <- "ga:&#12487;&#12540;&#12479;&#12434;&#21462;&#24471;&#12377;&#12427;&#12469;&#12452;&#12488;&#12398;id&#12434;&#20837;&#21147;"

#&#21462;&#24471;&#12497;&#12521;&#12513;&#12540;&#12479;&#12398;&#35373;&#23450;
query.list <- Init(start.date = "2014-08-01",
                   end.date = "2014-08-31",
                   dimensions = "ga:deviceCategory",
                   metrics = "ga:users",
                   max.results = 10000,
                   table.id = TableID)

#&#21462;&#24471;&#12497;&#12521;&#12513;&#12540;&#12479;&#12540;&#12434;&#20966;&#29702;
query <- QueryBuilder(query.list)

#&#12487;&#12540;&#12479;&#12398;&#21462;&#24471;
DeviceCategoryData <- GetReportData(query, oauth_token)

#&#12518;&#12540;&#12470;&#12540;&#25968;&#12391;&#20006;&#12403;&#26367;&#12360;
DeviceCategoryData <- DeviceCategoryData[order(DeviceCategoryData[, 2], decreasing = TRUE), ]

#&#12497;&#12540;&#12475;&#12531;&#12488;&#12398;&#12487;&#12540;&#12479;&#12434;&#36861;&#21152;
DeviceCategoryData <- cbind(DeviceCategoryData,
                            percent = round(DeviceCategoryData[, 2] / sum(DeviceCategoryData[, 2], na.rm = TRUE) * 100, 1))

#&#20870;&#12464;&#12521;&#12501;&#12434;&#20316;&#25104;
PiePlot <- ggplot(DeviceCategoryData, aes(x = "",
                                          y = DeviceCategoryData[, 2],
                                          fill = DeviceCategoryData[, 1]))

PiePlot <- PiePlot +
  geom_bar(width = 1, stat = "identity", show_guide = TRUE) +
  geom_text(aes(y = cumsum(DeviceCategoryData[, 2]) - 0.5 * DeviceCategoryData[, 2],
                label = paste(DeviceCategoryData[, 3], "%", sep = ""))) +
  coord_polar(theta = "y") +
  labs(x = "", y = "") +
  theme_bw(base_family = ifelse(.Platform[1] == "windows", "", "HiraKakuProN-W3")) +
  scale_y_continuous(breaks = NULL) +
  scale_x_discrete(breaks = NULL) +
  guides(fill = guide_legend(title = "&#12450;&#12463;&#12475;&#12473;&#29872;&#22659;")) +
  theme(axis.ticks = element_blank(),
        axis.text.x = element_text(size = 8,
                                   angle = 60,
                                   hjust = 1.1,
                                   colour = "grey50"))

#&#12464;&#12521;&#12501;&#12398;&#12503;&#12525;&#12483;&#12488;
#PiePlot

###&#20197;&#19979;&#12289;&#12464;&#12521;&#12501;&#12364;&#36028;&#12426;&#20184;&#12369;&#12425;&#12428;&#12383;&#12456;&#12463;&#12475;&#12523;&#12501;&#12449;&#12452;&#12523;&#12398;&#20986;&#21147;#####
#&#20445;&#23384;&#12501;&#12457;&#12523;&#12480;&#12398;&#36984;&#25246;
SaveDir <- paste(as.character(tkchooseDirectory(title = "&#20445;&#23384;&#12487;&#12451;&#12524;&#12463;&#12488;&#12522;&#12434;&#36984;&#25246;"), sep = "", collapse =""))
#&#12527;&#12540;&#12463;&#12502;&#12483;&#12463;&#12398;&#20316;&#25104;
wb <- loadWorkbook("&#12450;&#12463;&#12475;&#12473;&#12487;&#12540;&#12479;.xlsx", create = TRUE)
#&#12471;&#12540;&#12488;&#12398;&#20316;&#25104;
createSheet(wb, name = "&#12450;&#12463;&#12475;&#12473;&#12487;&#12540;&#12479;")
#&#12487;&#12540;&#12479;&#12398;&#26360;&#12365;&#36796;&#12415;
writeWorksheet(wb, DeviceCategoryData, sheet = "&#12450;&#12463;&#12475;&#12473;&#12487;&#12540;&#12479;", startRow = 1, startCol = 1)
#&#19968;&#26178;&#12501;&#12457;&#12523;&#12480;&#12395;&#20999;&#12426;&#26367;&#12360;
setwd(tempdir())
#&#12464;&#12521;&#12501;&#12501;&#12449;&#12452;&#12523;&#12398;&#20316;&#25104;
png(filename = "PiePlot.png", width = 350, height = 350)
#&#20986;&#21147;
print(PiePlot)
dev.off()
#&#12464;&#12521;&#12501;&#12398;&#26360;&#12365;&#36796;&#12415;
createName(wb, name = "PiePlot", formula = paste("&#12450;&#12463;&#12475;&#12473;&#12487;&#12540;&#12479;", idx2cref(c(3, 4)), sep = "!"))
addImage(wb, filename = "PiePlot.png", name = "PiePlot", originalSize = TRUE)
#&#12501;&#12449;&#12452;&#12523;&#12398;&#20445;&#23384;
setwd(SaveDir)
saveWorkbook(wb)
########

書き出されるエクセル

一部のデータを隠しています。

スクリーンショット-2015-02-01-14.40.28

解析コマンドなどのまとめはこちらから:RでGoogle Analyticsの目次

少しでも、あなたのウェブや実験の解析が楽になりますように!!

タイトルとURLをコピーしました