Ранее никогда не встречал и не слышал про семейство функций
Это семейство функций позволяет быстро раскидать ваши данные по определённым группам, например по возрастным.
Функции семейства cut_*():
-
-
-
Пример кода:
#заметки_по_R
cut_*() в ggplot2, случайно увидел в курсе R для Data Science.Это семейство функций позволяет быстро раскидать ваши данные по определённым группам, например по возрастным.
Функции семейства cut_*():
-
cut_interval() - создает n групп с равным диапазоном-
cut_number() - создает n групп с (приблизительно) равным количеством записей-
cut_width() - создает группы заданной шириныПример кода:
library(ggplot2)
# тестовые данные
df <- data.frame(
age = round(runif(50, 18, 55), 0),
val = round(runif(50, 1, 10), 0)
)
# создает n групп с равным диапазоном
ggplot(df, aes(x = cut_interval(age, 4), y = val)) +
geom_col()
# создает n групп с (приблизительно) равным количеством записей
ggplot(df, aes(x = cut_number(age, 4), y = val)) +
geom_col()
# создает группы заданной ширины
ggplot(df, aes(x = cut_width(age, 6), y = val)) +
geom_col()
#заметки_по_R
Наткнулся в одном из чатов на отличное объяснение того, как и для чего используется знак тильда
————————————
- Если знак
- Если знак
- Конкретно в
- Еще знак
- Существуют и другие способы использования этого знака
Резюме: знак
Ссылки:
- Оригинал сообщения
#заметки_по_R
~ в R. Мне и самому этот вопрос неоднократно задавали, ниже привожу оригинал сообщения.————————————
- Если знак
~ встречается в формуле, то он подразумевает знак равенства (модельного равенства) целевой переменной к предикторам ( lm(y ~ x + z) ) - означает моделирование линейной регрессии с целевой переменной y и двумя предикторами x и z- Если знак
~ встречается в функциях tidyverse, то он означает короткое объявление функции, например, выражение purrr::map(1:10, ~.x^2) означает - примени к каждому элементу вектора функцию возведения в квадрат- Конкретно в
ggplot2::facet_grid() знак используется для описание способа разбиения фасет- Еще знак
~ встречается в data.table::dcast, где он используется для описания способа разложения таблицы в широкий формат- Существуют и другие способы использования этого знака
Резюме: знак
~ используется различными способами в зависимости от используемых функций, поэтому нужно читать документацию и смотреть как такой знак применяется.Ссылки:
- Оригинал сообщения
#заметки_по_R
Интересную мысль описал автор статьи "Do write positive code".
Ранее я не задумывался о том, что надо стремится к тому, что бы не использовать в коде отрицания, если это возможно. Тем более не использовать двойные и тройные отрицания.
Дело в том, что наш мозг гораздо сложнее воспринимается отрицания, чем обычные условия.
Цитата из статьи:
Как только вы говорите мозгу "Не думай о слоне", первое о чём он начинает думать - это конечно слон!
Соответственно, читать код переполненный составными отрицаниями довольно сложно. Автор приводит в статье множество примеров кодов с, и без отрицаний. Ниже приведу основной пример из статьи:
#заметки_по_R
Ранее я не задумывался о том, что надо стремится к тому, что бы не использовать в коде отрицания, если это возможно. Тем более не использовать двойные и тройные отрицания.
Дело в том, что наш мозг гораздо сложнее воспринимается отрицания, чем обычные условия.
Цитата из статьи:
Как только вы говорите мозгу "Не думай о слоне", первое о чём он начинает думать - это конечно слон!
Соответственно, читать код переполненный составными отрицаниями довольно сложно. Автор приводит в статье множество примеров кодов с, и без отрицаний. Ниже приведу основной пример из статьи:
# bad
if (!file.exists(some_file_name))
{
# do something
}
else
{
# do some other thing
}
#------------------------------------
# good
if (file.exists(some_file_name))
{
# do something
}
else
{
# do some other thing
}
#заметки_по_R
Актуализировал одну старенькую статью "Как визуализировать показатель качества ключевых слов — рецепт скрипта на языке R".
Полезна она будет интернет маркетологам работающим в Google Ads.
В статье приведён пример запроса данных о показателе качества ключевых слов, и всех его составляющих из Google Ads API с помощью пакета
Так же в статье вы найдёте рекомендации по тому, какие действия необходимо предпринимать по построенной визуализации, для повышения эффективности рекламных кампаний.
#статьи_по_R
Полезна она будет интернет маркетологам работающим в Google Ads.
В статье приведён пример запроса данных о показателе качества ключевых слов, и всех его составляющих из Google Ads API с помощью пакета
rgoogleads. И визуализации полученных результатов с помощью ggplot2.Так же в статье вы найдёте рекомендации по тому, какие действия необходимо предпринимать по построенной визуализации, для повышения эффективности рекламных кампаний.
#статьи_по_R
Собрал из всех своих пакетов коллекцию для интернет маркетинга
На самом деле
На данный момент
-
-
-
-
-
-
-
-
Пакет
Установить коллекцию можно стандартной командой
#новости_и_релизы_R
galigor.На самом деле
galigor был создан пару лет назад, но на CRAN я его тогда не опубликовал. На данный момент
galigor состоит из 8ми пакетов:-
rgoogleads - пакет для работы с Google Ads API-
ryandexdirect - пакет для работы с API Яндекс.Директ-
rym - пакет для работы с Яндекс.Метрикой-
rfacebookstat - пакет для работы с Facebook MArketing API-
rmytarget - пакет для работы с API MyTarget-
rvkstat - пакет для работы с API Вконтакте-
rappsflyer -пакет для работы с AppsFlyer Pull API-
getProxy - пакет позволяющий обходить блокировку заблокированных в вашей стране сервисов.Пакет
timeperiodsR я в эту коллекцию не включил т.к. прямого отношения к интернет маркетингу он не имеет.Установить коллекцию можно стандартной командой
install.packages('galigor').#новости_и_релизы_R
Первой моей публикацией на Хабре была "Обзор пакетов для интернет маркетинга, часть 1".
С тех пор прошло почти 3 года, появилось много новых, полезных пакетов, которые могут очень сильно упростить повседневную рутину интернет маркетологам и веб аналитикам.
В связи с чем сегодня, спустя три года после первой публикации, я опубликовал продолжение "Обзор R пакетов для интернет маркетинга, часть 2".
#статьи_по_R
С тех пор прошло почти 3 года, появилось много новых, полезных пакетов, которые могут очень сильно упростить повседневную рутину интернет маркетологам и веб аналитикам.
В связи с чем сегодня, спустя три года после первой публикации, я опубликовал продолжение "Обзор R пакетов для интернет маркетинга, часть 2".
#статьи_по_R
✅ Какой объем текста на странице увеличит видимость в Google и Яндекс?
✅ Сколько фотографий товара должно быть на карточке?
✅ Какие позиции занимают сайты конкурентов по вашей семантике?
✅ Как влияют на ранжирование обновления алгоритмов поисковых систем?
✅ Какие работы над сайтом показывают эффективность, а какие нет?
Представляем обновленную версию SEOWORK — платформу аналитики и контроля SEO, где вы можете получить ответы на эти вопросы буквально в 2 клика.
За последнее время мы полностью обновили основные модули платформы и внедрили новые инструменты. Теперь вы можете:
- отследить динамику по своему сайту в сравнении с сайтами конкурентов по вашему семантическому ядру, по группе страниц или запросов,
- оценить эффективность проводимых работ, провести a/b тесты, рассчитать сколько фото товара и какой объем SEO текста должен быть на странице за счет аналитики сегментов (групп страниц или запросов),
- построить BI отчеты по любым сегментам в разрезе видимости, спроса или трафика, нажав одну кнопку,
- всегда иметь под рукой наглядную картину в динамике по трафику и видимости проекта.
Работать с платформой стало значительно проще, такой функционал будет актуален не только для SEO-специалистов, но и для руководителя проекта, product менеджера и маркетолога.
И это лишь малая часть функционала платформы!
Зарегистрируйтесь на сайте и получите тестовый доступ
✅ Сколько фотографий товара должно быть на карточке?
✅ Какие позиции занимают сайты конкурентов по вашей семантике?
✅ Как влияют на ранжирование обновления алгоритмов поисковых систем?
✅ Какие работы над сайтом показывают эффективность, а какие нет?
Представляем обновленную версию SEOWORK — платформу аналитики и контроля SEO, где вы можете получить ответы на эти вопросы буквально в 2 клика.
За последнее время мы полностью обновили основные модули платформы и внедрили новые инструменты. Теперь вы можете:
- отследить динамику по своему сайту в сравнении с сайтами конкурентов по вашему семантическому ядру, по группе страниц или запросов,
- оценить эффективность проводимых работ, провести a/b тесты, рассчитать сколько фото товара и какой объем SEO текста должен быть на странице за счет аналитики сегментов (групп страниц или запросов),
- построить BI отчеты по любым сегментам в разрезе видимости, спроса или трафика, нажав одну кнопку,
- всегда иметь под рукой наглядную картину в динамике по трафику и видимости проекта.
Работать с платформой стало значительно проще, такой функционал будет актуален не только для SEO-специалистов, но и для руководителя проекта, product менеджера и маркетолога.
И это лишь малая часть функционала платформы!
Зарегистрируйтесь на сайте и получите тестовый доступ
4 пайплайна в
Пайаплан операторы позволяют повысить читаемость кода, за счёт того, что выстраивают операции последовательно, и позволяют избегать вложенности функций друг в друга. По сути пайплан берёт результат прошлой операции, и передаёт его в качестве первого аргумента следующей.
Многие используют базовый пайплан
Ниже приведу описание этих пайпланов.
● Базовый оператор
Самый распространённый пайплан оператор, который известен всем пользователям
● Tee Pipe
Этот пайп оператор используется значительно реже базового. Он позволяет пропустить результат какого то из звеньев общей цепочки, используется когда один из шагов не возвращает какой-то конкретный результат, например если вам в ходе цепочки необходимо вывести график или выплюнуть в консоль промежуточный результат.
● Exposition Pipe
Данный оператор позволяет избежать дублирования имени объекта по примеру того, как это реализовано в tidyverse. Например, работая с базовым data.frame, для фильтрации данных внутри квадратных скобок вам необходимо дублировать имя data.frame.
Оператор
Ещё один пример использования:
● Оператор присваивания
Данный оператор переопределяет значение первого объекта цепочки.
Ссылки:
- Примеры кода заимствованы из этой статьи
#заметки_по_R
magrittrПайаплан операторы позволяют повысить читаемость кода, за счёт того, что выстраивают операции последовательно, и позволяют избегать вложенности функций друг в друга. По сути пайплан берёт результат прошлой операции, и передаёт его в качестве первого аргумента следующей.
Многие используют базовый пайплан
%>%, но на самом деле в magrittr помимо базового есть ещё 3 дополнительных пайплайна. Ниже приведу описание этих пайпланов.
● Базовый оператор
%>%Самый распространённый пайплан оператор, который известен всем пользователям
tidyverse.mtcars %>%
filter(mpg > 30) %>%
select(mpg:wt)
● Tee Pipe
%T>%Этот пайп оператор используется значительно реже базового. Он позволяет пропустить результат какого то из звеньев общей цепочки, используется когда один из шагов не возвращает какой-то конкретный результат, например если вам в ходе цепочки необходимо вывести график или выплюнуть в консоль промежуточный результат.
iris %T>%
plot %>%
group_by(Species) %>%
summarize(
MaxSepalLength = max(Sepal.Length),
MinSepalLength = min(Sepal.Length)
)
● Exposition Pipe
%$%Данный оператор позволяет избежать дублирования имени объекта по примеру того, как это реализовано в tidyverse. Например, работая с базовым data.frame, для фильтрации данных внутри квадратных скобок вам необходимо дублировать имя data.frame.
iris[iris$Sepal.Length < 5.0, ]
Оператор
%$% позволяет избегать этого дублирования:iris %$% iris[Sepal.Length < 5.0, ]
Ещё один пример использования:
iris %$% plot(Sepal.Length, Sepal.Width)
● Оператор присваивания
%<>%Данный оператор переопределяет значение первого объекта цепочки.
x <- c(1,2,3,4)
x %<>% sum
Ссылки:
- Примеры кода заимствованы из этой статьи
#заметки_по_R
Завтра в 12:30 буду вести в Yagla вебинар "Как работать с API Google Analytics 4 на языке R".
По уровню рассчитан даже на тех кто вообще про язык R не слышал:
- Что такое язык R и в чём его преимущества;
- Установка языка R и среды установки RStudio на Windows;
- Настраиваем проект в Google Cloud Console, для работы с Google Analytics API;
- Установка дополнительных пакетов расширяющих возможности языка R;
- Пример работа с API Google Analytics 4 на языке R.
Ссылки:
- Регистрация
#вебинары
По уровню рассчитан даже на тех кто вообще про язык R не слышал:
- Что такое язык R и в чём его преимущества;
- Установка языка R и среды установки RStudio на Windows;
- Настраиваем проект в Google Cloud Console, для работы с Google Analytics API;
- Установка дополнительных пакетов расширяющих возможности языка R;
- Пример работа с API Google Analytics 4 на языке R.
Ссылки:
- Регистрация
#вебинары
Как добавить ярлыки данных в ggplot2
Добавить на график подписи можно с помощью слоя
В свою очередь
● label - текст подписей
● alpha - прозрачность
● angle - угол наклона
● colour - цвет текста
● family - шрифт
● fontface - тип шрифта, жирный, курсив и т.д.
● group - группировка
● hjust - горизонтальное смещение текста относительно визуализации
● lineheight - межстрочный интервал
● size - размер шрифта
● vjust - вертикальное смещение текста относительно визуализации
Пример кода для построения графика с подписями данных:
Ссылки:
- на создание поста подтолкнула статья "Adding text labels to ggplot2 Bar Chart"
#заметки_по_R
Добавить на график подписи можно с помощью слоя
geom_text(). Агрумент vjust позволяет вам менять положение подписи выше или ниже самого столбца.В свою очередь
geom_text() поддерживает следующие эстетики:● label - текст подписей
● alpha - прозрачность
● angle - угол наклона
● colour - цвет текста
● family - шрифт
● fontface - тип шрифта, жирный, курсив и т.д.
● group - группировка
● hjust - горизонтальное смещение текста относительно визуализации
● lineheight - межстрочный интервал
● size - размер шрифта
● vjust - вертикальное смещение текста относительно визуализации
Пример кода для построения графика с подписями данных:
library(ggplot2)
# счётчик случайных чисел
set.seed(123)
# тестовый набор данных
data <- data.frame(x = sample(LETTERS[1:6], 300, replace = TRUE))
# Способ 1: используем переменную ..count..
ggplot(data, aes(x = factor(x), fill = factor(x))) +
geom_bar() +
geom_text(
aes(label = ..count..),
stat = "count",
vjust = 1.5,
colour = "white"
)
# Способ 2: Предварительная агрегация данных
data %>%
dplyr::count(x, name = 'Freq') %>%
ggplot(aes(x = x, y = Freq, fill = x)) +
geom_bar(stat = "identity") +
geom_text(
aes(label = Freq),
vjust = -1,
colour = "gray32",
fontface = 'bold'
)
Ссылки:
- на создание поста подтолкнула статья "Adding text labels to ggplot2 Bar Chart"
#заметки_по_R
5 крутых приемов, которые улучшат работу на R
Рассмотрим пять крутых приемов работы на R, которые просто необходимо знать. Они разнятся в применении, но задействуются в большинстве существующих проектов.
Содержание:
- Запуск кода Python на R
- Чтение/импорт и преобразование файлов
- Нахождение структуры объектов
- Просмотр первой или последней части табличной структуры
- Чтение/экспорт данных в Google Sheets
#статьи_по_R
Рассмотрим пять крутых приемов работы на R, которые просто необходимо знать. Они разнятся в применении, но задействуются в большинстве существующих проектов.
Содержание:
- Запуск кода Python на R
- Чтение/импорт и преобразование файлов
- Нахождение структуры объектов
- Просмотр первой или последней части табличной структуры
- Чтение/экспорт данных в Google Sheets
#статьи_по_R
Отличная новость, Александр Гинько (@alexan805) завершил перевод "Mastering Shiny". В течении следующих нескольких недель будет происходить ее редактура, верстка и предпечатная подготовка. После этого всем, кто прислал автору перевода свою почту, будет отправлено письмо с промокодом на скидку 22-25% для предзаказа книги (доступны бумажная и электронная версии)!
Если вы еще не успели прислать электронный адрес для получения промокода на максимальную скидку от переводчика, сейчас самое время это сделать написав Александру в telegram или facebook. Спешите, время предзаказа – это время лучших скидок! Но промокод придет не сразу, а только после верстки и ценообразования книги.
По ссылке можно ознакомиться с фрагментом перевода. А именно с главой 19 "Модули Shiny".
Ссылки:
- telegram автора перевода, Александра Гинько
- facebook автора перевода
- фрагмент перевода, 19 глава
- фрагмент перевода "Динамическая фильтрация"
#книги_по_R
Если вы еще не успели прислать электронный адрес для получения промокода на максимальную скидку от переводчика, сейчас самое время это сделать написав Александру в telegram или facebook. Спешите, время предзаказа – это время лучших скидок! Но промокод придет не сразу, а только после верстки и ценообразования книги.
По ссылке можно ознакомиться с фрагментом перевода. А именно с главой 19 "Модули Shiny".
Ссылки:
- telegram автора перевода, Александра Гинько
- facebook автора перевода
- фрагмент перевода, 19 глава
- фрагмент перевода "Динамическая фильтрация"
#книги_по_R
This media is not supported in your browser
VIEW IN TELEGRAM
“Путь генерального директора”
👨🏼🎓Когда еще тебе представится возможность лично задать вопрос генеральному директору самой крупной EdTech компании в России?
Узнать, какая IT профессия будет приносить реальный доход в 2к22, сколько ты будешь зарабатывать в первый, второй, третий год - если начнешь кодить прямо сейчас, и правда ли, что 60% разработчиков гуманитарии?
🚀Спроси всё что хочешь, и даже больше 22 сентября!
Александр Волчек, гендир GeekBrains расскажет о том, какой путь он прошел, от простого программиста - до первого лица GeekBrains, поделится секретами индустрии. Будет много инсайтов о профессиях в IT, - и никакой воды.
📅Выступление начнется в 19:00 не пропусти, осталось 3 дня до окончания регистрации!
Вход бесплатный --> https://gb.ru/link/8nY~VF
👨🏼🎓Когда еще тебе представится возможность лично задать вопрос генеральному директору самой крупной EdTech компании в России?
Узнать, какая IT профессия будет приносить реальный доход в 2к22, сколько ты будешь зарабатывать в первый, второй, третий год - если начнешь кодить прямо сейчас, и правда ли, что 60% разработчиков гуманитарии?
🚀Спроси всё что хочешь, и даже больше 22 сентября!
Александр Волчек, гендир GeekBrains расскажет о том, какой путь он прошел, от простого программиста - до первого лица GeekBrains, поделится секретами индустрии. Будет много инсайтов о профессиях в IT, - и никакой воды.
📅Выступление начнется в 19:00 не пропусти, осталось 3 дня до окончания регистрации!
Вход бесплатный --> https://gb.ru/link/8nY~VF
Актуализировал ещё одну статью - "Как оценить потерянный доход в Google Ads с помощью языка R".
В статье описан подход расчёта недополученного дохода в Google Ads, от авторизации в API до визуализации и интерпретации результатов.
Расчёт основан на данных о проценте полученных показов в поисковой и медийной сети, CTR и среднем чеке.
Пакеты которые используются в статье:
●
●
●
●
●
Содержание:
- Что необходимо для реализации алгоритма?
- Как создать Developer Client в консоли разработчика Google?
- Запуск скрипта в RStudio
- Авторизация в сервисах
- Загрузка данных из Google Ads и Google Analytics
- Визуализация данных
- Какие действия можно предпринять по данным диаграммам
- Работаем с данными в CSV-файле
- Выводы
#статьи_по_R
В статье описан подход расчёта недополученного дохода в Google Ads, от авторизации в API до визуализации и интерпретации результатов.
Расчёт основан на данных о проценте полученных показов в поисковой и медийной сети, CTR и среднем чеке.
Пакеты которые используются в статье:
●
rgoogleads - пакет для работы с Google Ads API●
googleAnalyticsR - пакет для работы с Google Analytics API●
ggplot2 - визуализация данных●
dplyr - манипуляция данными●
tidyr - очистка данныхСодержание:
- Что необходимо для реализации алгоритма?
- Как создать Developer Client в консоли разработчика Google?
- Запуск скрипта в RStudio
- Авторизация в сервисах
- Загрузка данных из Google Ads и Google Analytics
- Визуализация данных
- Какие действия можно предпринять по данным диаграммам
- Работаем с данными в CSV-файле
- Выводы
#статьи_по_R
Как создать диаграмму датчик с помощью ggplot2
Диаграммы датчики в основном используются для отображения процентного выполнения плана, по своему виду очень напоминают автомобильный спидометр. Как по мне это не самый удачный способ визуализации, т.к. более эффективно любую диаграмму датчик можно заменить обычной нормализированной столбчатой диаграммой, тем не менее зачастую руководство читающее отчёты такие штуки любит.
Ниже приведу пример кода для создания диаграмм датчиков. Данный пример базируется на
Ссылки:
- Пример кода подсмотрен в статье "Generating gauge plots in ggplot2"
#заметки_по_R
Диаграммы датчики в основном используются для отображения процентного выполнения плана, по своему виду очень напоминают автомобильный спидометр. Как по мне это не самый удачный способ визуализации, т.к. более эффективно любую диаграмму датчик можно заменить обычной нормализированной столбчатой диаграммой, тем не менее зачастую руководство читающее отчёты такие штуки любит.
Ниже приведу пример кода для создания диаграмм датчиков. Данный пример базируется на
geom_react().# тестовый набор данных
df <- tibble(
variable = c("Carbohydrates", "Warming", "NGTnotPresent", "DrainNotPresent", "DrEaMing"),
percentage = c(0.67,0.33,0.86,0.78,0.58)
) %>%
mutate(group = case_when(
percentage < 0.6 ~ "red",
percentage >= 0.6 & percentage < 0.8 ~ "orange",
TRUE ~ "green"
),
label = paste0(percentage * 100, "%"),
title = recode(variable,
Carbohydrates = "Preoperative\ncarbohydrate loading",
Warming = "Intraoperative\nwarming",
NGTnotPresent = "Patients without a\nnasogastric tube\non arrival in recovery",
DrainNotPresent = "Patients without an\nabdominal drain\non arrival in recovery",
DrEaMing = "Patients DrEaMing on\npostoperative day 1")
)
# визуализация
ggplot(df, aes(fill = group, ymax = percentage, ymin = 0, xmax = 2, xmin = 1)) +
geom_rect(aes(ymax=1, ymin=0, xmax=2, xmin=1), fill ="#ece8bd") +
geom_rect() +
coord_polar(theta = "y",start=-pi/2) + xlim(c(0, 2)) + ylim(c(0,2)) +
geom_text(aes(x = 0, y = 0, label = label, colour=group), size=6.5, family="Poppins SemiBold") +
geom_text(aes(x=1.5, y=1.5, label=title), family="Poppins Light", size=4.2) +
facet_wrap(~title, ncol = 5) +
theme_void() +
scale_fill_manual(values = c("red"="#C9146C", "orange"="#DA9112", "green"="#129188")) +
scale_colour_manual(values = c("red"="#C9146C", "orange"="#DA9112", "green"="#129188")) +
theme(strip.background = element_blank(),
strip.text.x = element_blank()) +
guides(fill=FALSE) +
guides(colour=FALSE)
Ссылки:
- Пример кода подсмотрен в статье "Generating gauge plots in ggplot2"
#заметки_по_R
🔥1
Релиз rmytarget 2.3.1
Не так давно в официальном канале API MyTarget была новость, о том, что в ближайшем будущем будет прекращена поддержка API статистики 2ой версии. Немного позже, там же, появилась новость о том, что по многочисленным просьбам пока на неопределённый срок поддержка API 2ой версии продлена.
В общем я решил не ждать, пока на самом деле поддержка API статистики второй версии будет прекращена, и доработал пакет
Для переключения между версиями необходимо использовать новый аргумент
При работе с 3ей версией API вам становятся доступны новые аргументы:
●
●
●
●
●
●
К сожалению API статистики v3 не отдаёт данные с разбивкой на даты, для этого вам придётся использовать циклы, или другие способы итерирования. В будущем я планирую доработать функцию, и она сама будет разбивать запрос по дням по необходимости.
Также в
●
●
Установить новую версию пакета можно с CRAN:
Ссылки:
- Документация к API Статистики v3
- NEWS rmytarget
#релизы_R
Не так давно в официальном канале API MyTarget была новость, о том, что в ближайшем будущем будет прекращена поддержка API статистики 2ой версии. Немного позже, там же, появилась новость о том, что по многочисленным просьбам пока на неопределённый срок поддержка API 2ой версии продлена.
В общем я решил не ждать, пока на самом деле поддержка API статистики второй версии будет прекращена, и доработал пакет
rmytarget таким образом, что функция myTarGetStats() теперь поддерживает работу как с 2ой, так и 3ей версии API статистики.Для переключения между версиями необходимо использовать новый аргумент
api_version, который принимает значения 'v2' (по умолчанию) и 'v3.При работе с 3ей версией API вам становятся доступны новые аргументы:
●
attribution●
banner_status●
campaign_status●
sort_by●
sort_direction●
package_idК сожалению API статистики v3 не отдаёт данные с разбивкой на даты, для этого вам придётся использовать циклы, или другие способы итерирования. В будущем я планирую доработать функцию, и она сама будет разбивать запрос по дням по необходимости.
Также в
rmytarget были добавлены ещё несколько новых функций:●
myTarGetGoalsStats() - для загрузки статистики по целям●
myTarGetGetGoalList() - для загрузки списка целей рекламного аккаунтаУстановить новую версию пакета можно с CRAN:
install.packages('rmytarget')Ссылки:
- Документация к API Статистики v3
- NEWS rmytarget
#релизы_R
Статья "Скучно, просто и ограниченно — все это изотоническая регрессия".
Посвящена пакету
Содержание:
- Минутка теории
- Методология
- Расчеты
#статьи_по_R
Посвящена пакету
cir.Содержание:
- Минутка теории
- Методология
- Расчеты
#статьи_по_R
Пятничное!
Интерактивные аналоговые часы на R.
Эти аналоговые часы автор написал используя пакет
Код запускать со звуком.
Ссылки:
- Код заимствован из статьи "Little useless-useful R functions – Useless analog and digital clocks"
#заметки_по_R
Интерактивные аналоговые часы на R.
Эти аналоговые часы автор написал используя пакет
grid.Код запускать со звуком.
library(grid)
#install.packages("beepr")
DrawClock <- function(hour, minute, second) {
t <- seq(0, 2*pi, length=13)[-13]
x <- cos(t)
y <- sin(t)
grid.newpage()
pushViewport(dataViewport(x, y, gp=gpar(lwd=3)))
# Фон часов
grid.circle(x=0, y=0, default="native", r=unit(1, "native"))
# Часовая стрелка
hourAngle <- pi/2 - (hour + minute/60)/12*2*pi
grid.segments(0, 0, 0.6*cos(hourAngle), .6*sin(hourAngle), default="native", gp=gpar(lex=4, col="red"))
# Минутная стрелка
minuteAngle <- pi/2 - (minute)/60*2*pi
grid.segments(0, 0, 0.8*cos(minuteAngle), .8*sin(minuteAngle),default="native", gp=gpar(lex=2))
# Секундная стрелка
secondAngle <- pi/2 - (second)/60*2*pi
grid.segments(0, 0,
0.8*cos(secondAngle), .7*sin(secondAngle), default="native", gp=gpar(lex=1, col = "blue"), draw=TRUE)
grid.circle(0,0, default="native", r=unit(1, "mm"), gp=gpar(fill="white"))
}
AnalogClock <- function() {
while(TRUE){
hh <- as.integer(format(Sys.time(), format="%H"))
mm <- as.integer(format(Sys.time(), format="%M"))
ss <- as.integer(format(Sys.time(), format="%S"))
Sys.sleep(1)
DrawClock(hh,mm,ss)
beepr::beep(sound = 1, expr = NULL)
}
}
#Запускаем часы
AnalogClock()
Ссылки:
- Код заимствован из статьи "Little useless-useful R functions – Useless analog and digital clocks"
#заметки_по_R
Совмещение R и Python Зачем, когда и как (доклад, статья и презентация)
Автор: Ирина Голощапова
Доклад:
Доклад не новый, 2016 года, пакеты которые упоминались в докладе уже не актуальны, тем не менее послушать о подходе совместного использования языков можно.
Статья:
Последняя редакция статьи 8 ноября 2018 года, тут уже в общем всё актуально, и приведённые примеры написаны на основе
Ссылки:
- Видео доклада
- Презентация
- Статья
#доклады_по_R
#статьи_по_R
Автор: Ирина Голощапова
Доклад:
Доклад не новый, 2016 года, пакеты которые упоминались в докладе уже не актуальны, тем не менее послушать о подходе совместного использования языков можно.
Статья:
Последняя редакция статьи 8 ноября 2018 года, тут уже в общем всё актуально, и приведённые примеры написаны на основе
reticulate, официальной разработки RStudio.Ссылки:
- Видео доклада
- Презентация
- Статья
#доклады_по_R
#статьи_по_R
Опубликовал видео вебинара "Как работать с API Google Analytics 4 на языке R, воркшоп для новичков", который я вёл 15 сентября в Yagla.
Тайм коды:
00:00 Вступление
00:51 План вебинара
02:15 Преимущества языка R
03:10 Установка языка R и среды разработки RStudio на Windows
05:05 Настройка проекта в Google Cloud Console для работы с Google Analytics API
10:44 Краткий обзор RStudio
11:32 Установка и подключение пакетов в R
12:55 Авторизация в Google Analytics API
14:44 Загрузка данных из Google Analytics 4 в R
19:28 Визуализация данных об объёме трафика из Google Analytics в R с помощью ggplot2
20:57 Запрашиваем данные о количестве совершённых событий из Google Analytics 4 в R
21:30 Переформатирование данных о событиях с помощью пакета tidyr
23:00 Визуализация данных о количестве событий в R
В презентации вы найдёте промокод с 40% скидкой на покупку моего курса "Язык R для интернет марктинга".
Ссылки:
- Видео
- Презентация
- Код
#вебинары
Тайм коды:
00:00 Вступление
00:51 План вебинара
02:15 Преимущества языка R
03:10 Установка языка R и среды разработки RStudio на Windows
05:05 Настройка проекта в Google Cloud Console для работы с Google Analytics API
10:44 Краткий обзор RStudio
11:32 Установка и подключение пакетов в R
12:55 Авторизация в Google Analytics API
14:44 Загрузка данных из Google Analytics 4 в R
19:28 Визуализация данных об объёме трафика из Google Analytics в R с помощью ggplot2
20:57 Запрашиваем данные о количестве совершённых событий из Google Analytics 4 в R
21:30 Переформатирование данных о событиях с помощью пакета tidyr
23:00 Визуализация данных о количестве событий в R
В презентации вы найдёте промокод с 40% скидкой на покупку моего курса "Язык R для интернет марктинга".
Ссылки:
- Видео
- Презентация
- Код
#вебинары
YouTube
Вебинар: Как работать с API Google Analytics 4 на языке R, воркшоп для новичков (googleAnalyticsR)
В ходе вебинара мы с нуля начнём работать с Google Analytocs Data API, предназначенный для работы с Google Analytics 4.
Организатор: YAGLA (https://yagla.ru/)
Спикер: Алексей Селезнёв
|===========================================|
Код рассмотренный в видео:…
Организатор: YAGLA (https://yagla.ru/)
Спикер: Алексей Селезнёв
|===========================================|
Код рассмотренный в видео:…