3482
правки
Изменения
Новая страница: «В этой статье приведены конкретные примеры запросов к API Google Analytics, а также способы анали…»
В этой статье приведены конкретные примеры запросов к API Google Analytics, а также способы анализа и визуализации полученных данных. Все данные взяты из профиля сайта http://psylab.info.
== Предварительная настройка ==
Прежде чем приступить к анализу и визуализации данных, нам необходимо, загрузить все необходимые пакеты R, определить ряд переменных, подключиться к API Google Analytics и т.д.
Установка английской локали для даты и времени:
{{r-code|code=<nowiki>> Sys.setlocale("LC_TIME", "en_US")</nowiki>}}
Загрузка необходимых пакетов для работы:
{{r-code|code=<nowiki>> library(reshape2)
> library(scales)
> library(ggplot2)
> library(rga)</nowiki>}}
Подключение к API GA:
{{r-code|code=<nowiki>> rga.open(instance = "ga", where = "ga.rga")</nowiki>}}
Определяем id сайта в профиле GA для получения данных:
{{r-code|code=<nowiki>> siteURL <- "http://psylab.info"
> profiles <- ga$getProfiles()
> id <- profiles[profiles$websiteUrl == siteURL, "id"]</nowiki>}}
Определяем часовой пояс согласно настройкам ресурса в GA для корректного преобразования времени в R:
{{r-code|code=<nowiki>timezone <- as.character(profiles[profiles$id == id, "timezone"])</nowiki>}}
Определим диапазон дат для получения данных (в данном примере - это месяц):
{{r-code|code=<nowiki>end.date <- Sys.Date() # текущая дата
start.date <- end.date - 30 # отнимаем 30 дней</nowiki>}}
== Анализ посещаемости сайта ==
Для анализа посещаемости сайта возьмём следующие показатели: количество пользователей, количество посещений (сеансов) и количество просмотров страниц.
Получение данных:
{{r-code|code=<nowiki>> ga.data <- ga$getData(id, start.date, end.date,
+ "ga:pageviews,ga:sessions,ga:users", "ga:date")</nowiki>}}
Переменные <code>id</code>, <code>start.date</code>, <code>end.date</code> мы уже определили ранее.
Приведём часть полученной таблицы данных для лучшего понимания дальнейших действий:
{{r-code|code=<nowiki>> head(ga.data)
date pageviews sessions users
1 2014-03-24 11919 5043 3989
2 2014-03-25 12744 5364 4254
3 2014-03-26 12986 5366 4211
4 2014-03-27 12833 5288 4164
5 2014-03-28 10201 4483 3586
6 2014-03-29 7602 3381 2647</nowiki>}}
Выведем описательных статистик:
{{r-code|code=<nowiki>> t(sapply(ga.data[, -1], summary))
Min. 1st Qu. Median Mean 3rd Qu. Max.
pageviews 6590 10700 12700 12400 14500 16000
sessions 3090 4490 5320 5170 6040 6520
users 2270 3460 4160 4040 4740 5020</nowiki>}}
Визуализировать таблицу данных можно следующим образом:
{{r-code|code=<nowiki>> ga.long <- melt(ga.data, id.vars = "date", value.name = "value", variable.name = "metric")
> qplot(data = ga.long, x = date, y = value, color = metric, shape = metric, geom = c("line", "point")) +
+ theme_bw() + scale_x_date(labels = date_format("%d %b"), breaks = date_breaks("week"))</nowiki>}}
Преобразование исходной таблицы в «длинный» формат с помощью функции <nowiki>melt()</nowiki> необходимо для более удобной работы с несколькими переменными при построении графика.
== Предварительная настройка ==
Прежде чем приступить к анализу и визуализации данных, нам необходимо, загрузить все необходимые пакеты R, определить ряд переменных, подключиться к API Google Analytics и т.д.
Установка английской локали для даты и времени:
{{r-code|code=<nowiki>> Sys.setlocale("LC_TIME", "en_US")</nowiki>}}
Загрузка необходимых пакетов для работы:
{{r-code|code=<nowiki>> library(reshape2)
> library(scales)
> library(ggplot2)
> library(rga)</nowiki>}}
Подключение к API GA:
{{r-code|code=<nowiki>> rga.open(instance = "ga", where = "ga.rga")</nowiki>}}
Определяем id сайта в профиле GA для получения данных:
{{r-code|code=<nowiki>> siteURL <- "http://psylab.info"
> profiles <- ga$getProfiles()
> id <- profiles[profiles$websiteUrl == siteURL, "id"]</nowiki>}}
Определяем часовой пояс согласно настройкам ресурса в GA для корректного преобразования времени в R:
{{r-code|code=<nowiki>timezone <- as.character(profiles[profiles$id == id, "timezone"])</nowiki>}}
Определим диапазон дат для получения данных (в данном примере - это месяц):
{{r-code|code=<nowiki>end.date <- Sys.Date() # текущая дата
start.date <- end.date - 30 # отнимаем 30 дней</nowiki>}}
== Анализ посещаемости сайта ==
Для анализа посещаемости сайта возьмём следующие показатели: количество пользователей, количество посещений (сеансов) и количество просмотров страниц.
Получение данных:
{{r-code|code=<nowiki>> ga.data <- ga$getData(id, start.date, end.date,
+ "ga:pageviews,ga:sessions,ga:users", "ga:date")</nowiki>}}
Переменные <code>id</code>, <code>start.date</code>, <code>end.date</code> мы уже определили ранее.
Приведём часть полученной таблицы данных для лучшего понимания дальнейших действий:
{{r-code|code=<nowiki>> head(ga.data)
date pageviews sessions users
1 2014-03-24 11919 5043 3989
2 2014-03-25 12744 5364 4254
3 2014-03-26 12986 5366 4211
4 2014-03-27 12833 5288 4164
5 2014-03-28 10201 4483 3586
6 2014-03-29 7602 3381 2647</nowiki>}}
Выведем описательных статистик:
{{r-code|code=<nowiki>> t(sapply(ga.data[, -1], summary))
Min. 1st Qu. Median Mean 3rd Qu. Max.
pageviews 6590 10700 12700 12400 14500 16000
sessions 3090 4490 5320 5170 6040 6520
users 2270 3460 4160 4040 4740 5020</nowiki>}}
Визуализировать таблицу данных можно следующим образом:
{{r-code|code=<nowiki>> ga.long <- melt(ga.data, id.vars = "date", value.name = "value", variable.name = "metric")
> qplot(data = ga.long, x = date, y = value, color = metric, shape = metric, geom = c("line", "point")) +
+ theme_bw() + scale_x_date(labels = date_format("%d %b"), breaks = date_breaks("week"))</nowiki>}}
Преобразование исходной таблицы в «длинный» формат с помощью функции <nowiki>melt()</nowiki> необходимо для более удобной работы с несколькими переменными при построении графика.