TG Telegram Group Link
Channel: R4marketing | канал Алексея Селезнёва | Язык R
Back to Bottom
ОН КЛИНИК в поиске Middle Web analyst

Курсы по программингу на Python или R будут плюсом.

Задачи:
● Поддерживать сквозную аналитику по интернет-продажам услуг в разрезе источников и каналов привлечения, типов услуг, затрат на привлечение (онлайн- и оффлайн-воронки);
● разработка персонализированных отчетов для отдела маркетинга;
● построение Ad-Hoc отчётов;
● подготовка технических заданий для разработчиков и контроль их выполнения;
● багфикс/багрепорты по работе систем веб-аналитики;
● настройка тегов в Google Tag Manager;
● настройка целей, представлений в Google Analytics;
● анализ эффективности всех каналов трафика и подготовка предложений по оптимизации бюджетов и повышению уровня конверсии;
● аналитика поведения пользователей и предложения по оптимизации удобства использования и поведенческого опыта;
● разработка гипотез и проведение А/В-тестирований;
● контроль и поддержание единой логики использования UTM-меток;
● создание и поддержание актуальности отчетов маркетинговой аналитики на базе BI решений, которые позволят проводить аналитику всех каналов маркетинга с учетом реальных доходов от продаж услуг.

Требования к кандидату:
● уверенный пользователь Google Analytics, Google Tag Manager;
● уверенное владение SQL, Python или R, Google BigQuery;
● опыт работы с API (настройка сбора данных и интеграции с внешними системами), контроль разработки и внедрения с командой программистов;
● знание систем визуализации данных Power BI, Google Data Studio;
● знание различных типов моделей атрибуции, опыт их внедрения, анализ результата и принятия решений по их эффективности;
● опыт работы с большими объемами данных.

GEO- Украина.

Детали вакансии в личных сообщениях: tg @dariaviatorem
Forwarded from Weekly Charts
🤖 Краш-тест возможностей chatGPT-4 для создания визуализации данных в R с помощью ggplot2

GPT-4 можно использовать для улучшения визуализации данных в R (ggplot2), что делает его отличным инструментом как для начинающих, так и для продвинутых пользователей R. Мне понравилось, как автор видео общается с chatGPT-4. Хотя код на R иногда содержит ошибки и не работает, весь процесс выглядит очень захватывающим. От создания базовых графиков (смотрите с какой легкостью chatGPT пишет код для пайчарта 🙊 на зависть новичкам) до продвинутых техник использования ChatGPT для поиска данных, анализа и визуализации данных.

▶️ Видео Using GPT-4 for Data Viz (R/ggplot).

Мораль: Как мне кажется, с появлением AI люди НЕ потеряют способность к абстрактному мышлению, анализу, или креативность. Использование chatGPT только повысит производительность труда и качество работы человека.

#R #ggplot2 #chatGPT4 #визуализация_данных #dataviz #полезное
Видео урок: Как хранить и работать с секретными данными на языке R

Новички зачастую хранят все секретные данные, такие как пароли и api токены, непосредственно в коде, но это считается плохой практикой.

Опубликовал видео в котором рассказал почему не стоит хранить пароли в самом коде. и как правильно и безопасно хранить секретные данные.

Тайм коды:
00:00 Вступление
00:39 Что такое секретные данные
01:06 Как не надо хранить секретные данные
03:18 Способы хранения и работы с секретными данными
03:54 Работа с хранилищем учётных данных операционной системы с помощью пакета keyring
06:40 Работа с файлами конфигурации с помощью пакета configr: yaml, ini, json
14:24 Работа с переменными среды
18:35 Заключение

Длительность: 19:10

Ссылки:
- Материалы к уроку
- Видео

#видео_уроки_по_R
Язык R: прокачайте свои навыки до следующего уровня

Автор: Андрей Шагин

В статье приводятся 7 рекомендаций по оптимизации кода в плане использования и времени выполнения ваших скриптов, говоря простыми словами, рекомендации по повышени. эффективности вашего кода.

Содержание:
● Рекомендация 1. Выполняйте профилирование кода
● Рекомендация 2. Векторизируйте код
● Рекомендация 3. Матрицы вместо фреймов данных
● Рекомендация 4. is.na() и anyNA
● Рекомендация 5. if() … else() вместо ifelse()
● Рекомендация 6. Параллельные вычисления
● Рекомендация 7. Интерфейс сопряжения R с другими языками
● Заключение

#статьи_по_R
Создание API в R при помощи Plumber

Я считаю лучшим способом для интеграции приложений R в любую систему ПО, — это Plumber. Статья посвящена именно ему. К ее завершению вы создадите в R свой первый API при помощи Plumber.

Содержание:
1. Пара слов об использовании R в продакшене
2. Что такое API?
3. Как работает Plumber?
4. Начнем с простого скрипта
5. Превращение скрипта в API
6. Проверим
7. Развертывание
8. Заключение

#статьи_по_R
qdapRegex - извлечение, замена и удаление частей текста

Регулярные выражение инструмент достаточно мощный, но в тоже время и довольно непростой в понимании. Поэтому, для извлечения/удаления/замены каких-то базовых паттернов в тексте, например имейлов, номеров телефонов, почтовых индексов. чисел, дат, аббревиатур и т.д. можно использовать пакет qdapRegex.

Каждая из функций пакета имеет приставку, в зависимости от её назначения:

ex_*() - извлечение части текста
rm_*() - удаление / замена части текста

Например, в одном из постов канала я показал, как с помощью регулярных выражений удалить часть текста между двумя символами, задача казалось бы простая, но регулярное выражение для её выполнения будет не самым простым, а пакет qdapRegex решает такие задачи очень просто:

library(qdapRegex)

x <- "I like [bots] (not)."

rm_between(x, "(", ")")
ex_between(x, "(", ")")
rm_between(x, c("(", "["), c(")", "]"))
ex_between(x, c("(", "["), c(")", "]"))

Если вам не удалить, а заменить часть текста используйте аргумент replacement:

rm_between(x, "[", "]",replacement = "humans")

Ниже приведу набор наиболее полезных функций:

(ex|rm)__between() - часть текста между указанными символами
(ex|rm)_hash() - хештеги
(ex|rm)_tag() - именные теги (@username)
(ex|rm)_url() - извлечение ссылок из текста
(ex|rm)_email() - имейлы
(ex|rm)_phone() - номера телефонов
(ex|rm)_emoticon() - смайлы
(ex|rm)_bracket() - текст внутри квадратных, фигурных или круглых скобок
(ex|rm)_curly() - текст внутри фигурных скобок
(ex|rm)_round() - текст внутри круглых скобок
(ex|rm)_square() - текст внутри квадратных скобок
(ex|rm)_number() - числа
(ex|rm)_time() - время
(ex|rm)_date() - даты
(ex|rm)_non_words() - не слова
(ex|rm)_nchar_words() - слова более заданной длинны
(ex|rm)_repeated_characters() - повторяющиеся символы

И это не полный набор функций, пакет будет крайне полезен для очистки текста. или извлечения нужной информации из неструктурированного текста, например из имейлов, или комментариев.

# пример текста
text <- "@alex привет, отправь 12.07.2023 @john информацию о стоимости #iphone на почту [email protected] потом позвони мне (067)123-45-67"

ex_date(text) # извлекаем дату
ex_email(text) # извлекаем имейл
ex_hash(text) # извлекаем хеш
ex_tag(text) # извлекаем теги
ex_phone(text) # извлекаем номер телефона?

Все функции под капотом используют американский словарь регулярных выражений, получить его можно командой data(regex_usa). Но вы можете создать и использовать собственный словарь регулярных выражений, в примере выше мы не смогли извлечь номер телефона, потому что его описание в тексте не соответствует американскому словарю регулярных выражений, давай создадим свой словарь:

# создаём словарь
regex_dict <- list("rm_phone" = "\\(\\d{3}\\)\\d{1,4}-\\d{1,4}-\\d{1,4}")
# устанавливаем пользовательский словарь по умолчанию
options("regex.library" = regex_dict)
# используем словарь и паттерн из него
ex_phone(text, pattern = "@rm_phone")

Пользуйтесь!

#заметки_по_R
Forwarded from People Analytics
​​​​👨‍💻 The Fundamentals of People Analytics: With Applications in R

Новая книга The Fundamentals of People Analytics: With Applications in R, находящая в открытом доступе, предназначена для аналитиков всех уровней и поможет им эффективно решать задачи, связанные с управлением персоналом организаций. В ней представлены ключевые идеи и концепции, охватывающие весь аналитический цикл, а также подробные инструкции по использованию R для решения реальных задач. Не требуются предварительные знания статистики, баз данных или программирования. Первые главы посвящены введению в R и SQL, а также основам статистики.

Человеческий капитал является самым важным активом любой организации. Без знаний и навыков сотрудников организация не сможет достичь успеха. Привлечение, развитие и удержание талантливых сотрудников становится все более сложной и ответственной задачей, поэтому организации делают значительные инвестиции в углубленное понимание организационных явлений на основе данных, влияющих на конечные результаты.

Прочитав книгу, вы сможете:
1. Планировать и проводить эмпирические исследования.
2. Запрашивать и обрабатывать данные с использованием SQL.
3. Очищать и анализировать данные с помощью R.
4. Применять соответствующие статистические и ML-модели для широкого спектра задач аналитики в области управления персоналом.
5. Представлять результаты анализа и осуществлять коммуникацию со стейкхолдерами на основе данных.

#books #people_analytics #R
colouR: Получить палитру проанализировав цвета изображения

Некоторое время назад я рассказывал о пакетах с наборами палитр, вдохновлённых национальными парками и художественного Метропόлитен-музея, почитать о них можно тут и тут.

На днях мне на глаза попался пакет colouR, который позволяет вам проанализировать любое изображение в форматах jpg или png, из локального файла или по ссылке, и получить его палитру. Основной функцией пакета является getTopCol(), которая имеет следующий набор аргументов:

path - Путь к локальному файлу изображения или URL
n - Количество цветов, которое необходимо получить в палитре
exclude - Позволяет исключить из палитры большинство оттенков чёрного и белого
sig - Целое число, позволяет округлять количество знаков после запятой, в определении какую часть изображения занимает цвет
avgCols - Логическое TRUE / FALSE, надо ли усреднять цвета в группы
n_clusters - Количество кластеров, используемых для группировки цветов, имеет смысл только при avgCols = TRUE

1. Пример анализа цветовой палитры изображения, и использования полученной палитры в `ggplot2`

Ниже пример анализа цветовой палитры изображения из интернета. само изображение и результат анализа его палитры вы видите на изображении к посту.

library(colouR)
library(ggplot2)
library(dplyr)

# Анализ палитры изображение с усреднением цветов
top10 <- getTopCol(
path = "https://static.make.ua/catalog/35/city-1491__1557487852__300h.jpg",
n = 5,
avgCols = T,
n_clusters = 10,
exclude = T,
)

# Сортируем цвета
top10$hex <- factor(top10$avg_color, levels = top10$avg_color)

# Выводим график по цветам
ggplot(top10, aes(x = hex, y = freq)) +
geom_bar(stat = 'identity', fill = top10$hex) +
theme_dark() +
theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
xlab('HEX colour code') +
ylab('Frequency')

# Выводим палитру
plotPalette(top10$avg_color)

В данном случае, мы группируем (avgCols = TRUE) все полученные из изображения цвета в 10 групп (
n_clusters = 10
), говорим исключить все известные пакету оттенки чёрного и белого (
exclude    = TRUE
), и взять 5 из полученных групп цветов, которые заполняют большую часть изображения (
n = 5
).

2. Используем полученную палитру в ggplot2

Пакет colouR включает две дополнительные функции для удобной совместимости с ggplot2:

scaleFill()
scaleColor()

Но, эти функции судя по всему работают только с встроенными в сам пакет палитрами, а собственные палитры вы можете использовать традиционным способом, передав их в аргументы функций scale_*():

# Используем полученную палитру в ggplot2
# подготовка данных
manufacturer_counts <- mpg %>%
group_by(manufacturer) %>%
summarize(count = n()) %>%
head(5)

mpgsort <- manufacturer_counts[order(manufacturer_counts$count, decreasing = TRUE), ]

mpgsort$manufacturer <- factor(mpgsort$manufacturer, levels = mpgsort$manufacturer)

# Строим график с использованием полученной палитры
ggplot(mpgsort, aes(x = manufacturer, y= count, fill = manufacturer)) +
geom_bar(stat = 'identity') +
theme_minimal() +
theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
scale_fill_manual(values = top10$avg_color)

Читайте так же:
- NatParksPalettes: Пакет цветовой палитры, вдохновленный национальными парками
- Палитры в R
- Темы для ggplot2 основанные на телешоу

Полезные ссылки:
- Сайт пакета colouR

#заметки_по_R
Профилирование производительности R-скриптов

Цель этой статьи - рассмотреть методы профилирования производительности и оптимизации для повышения эффективности R-скриптов. Мы поговорим о встроенных инструментах R, которые помогают нам профилировать код, а также о том, как правильно анализировать результаты профилирования.

Содержание:
1. Профилирование производительности в R
1.1. Встроенные инструменты R для профилирования (profvis, Rprof, system.time)
1.2. Анализ результатов профилирования: идентификация узких мест и затратных операций
2. Методы оптимизации R-скриптов
2.1. Использование векторизации и функций из базового пакета R
2.2. Оптимизация циклов: сравнение различных методов и подходов
2.3. Пакеты для оптимизации: compiler, Rcpp, data.table и другие
2.4. Оптимизация работы с памятью и управление переменными
3. Работа с большими данными в R
3.1. Оценка объема данных: когда и как данные становятся "большими"
3.2. Стратегии для работы с большими объемами данных на R
3.3. Пакеты для эффективной обработки больших наборов данных (bigmemory, ff, dplyr backend)
4. Кейсы из реальной практики
4.1. Исследование и сравнение производительности алгоритмов на примере реальных данных
5. Лучшие практики профилирования и оптимизации R-скриптов
6. Заключение

Смотрите также:
- Бесплатный курс "Циклы и функционалы в языке R"

#статьи_по_R
Бесплатный курс "Разработка пакетов на языке R"

Друзья, идея записи курса по разработке пакетов у меня появилась ещё несколько лет назад, но всё никак не доходили руки до реализации, и вот наконец я записал первый урок, и создал проект самого курса.

О курсе
В основе курса будет лежать книга Хедли Викхема "R Packages (2e)", тем не менее курс не будет полным её повторением, некоторые главы из книги я опущу, и кое что наоборот добавлю.

Окончательной программы курса пока нет, на данный момент готов первый урок, сам курс находится в стадии разработки, следить за его развитием вы можете на странице новостей курса.

Тайм коды первого урока:
00:00 Вступление
00:43 Как создать проект пакета
01:50 Структура проекта пакета
02:47 Добавляем проекту контроль версий
03:14 Как добавить функцию в свой пакет
04:17 Как загрузить текущий пакет (load_all())
05:05 Как запустить проверку пакета (check())
05:56 Файл DESCRIPTION
06:52 Добавляем лицензию пакету
07:08 Добавляем документацию к функциям пакета
09:47 Файл NAMESPACE
10:10 Добавляем юнит тесты для функций пакета
13:34 Как использовать в своём пакете функции из других пакетов
16:46 Обзор всего рабочего процесса
19:03 Заключение

Точных дат публикации следующих уроков нет, буду их записывать и публиковать по мере наличия свободного времени, coming soon.

Приблизительную программу курса постараюсь сформировать и добавить в течении этой недели.

Ссылки:
- сайт курса
- ссылка на первый урок на YouTube

#курсы_по_R
Опубликован 2ой урок курса "Разработка пакетов на языке R": Настройка системы и интеграция RStudio с GitHub

Помимо второго урока на главной странице курса опубликована полная программа курса.

Во втором уроке мы с вами настраиваем среду для разработки пакетов, и настраиваем интеграцию между RStudio и GitHub.

Тайм коды второго урока:
00:00 Вступление
00:50 Настройка дефолтных опций пакета usethis
05:13 Установка утилиты rtools
06:38 Регистрация на GitHub
08:15 Установка Git
09:53 Установка учётных данных в Git
11:27 Создание персонального токена на GitHub
15:04 Проверяем систему на готовность к компиляции пакетов
15:40 Отправка пакета из RStudio на GitHub
17:25 Обзор всего процесса настройки системы для разработки пакетов и интеграции RStudio с GitHub
18:43 Заключение

Ссылки:
1. Сайт курса
2. Видео на YouTube

#курсы_по_R
Опубликован 3 урок курса "Разработка пакетов на языке R": Организация R-кода вашего пакета

——————————
Друзья, так же подписывайтесь на youtube канал, и буду благодарен за репосты информации о курсе в ваших соц. сетях.
——————————

В этом уроке мы разберёмся с базовыми рекомендациями по организации кода вашего пакета, а так же узнаем чем принципиально отличается разработка пакета от написания обычного R сценария.

Тайм коды:
00:00 Вступление
00:44 Из каких компонентов состоит пакет
01:07 Как организовать функции пакета в файлы
03:55 Про функции library() и source() в коде пакет
05:32 Не изменяйте настройки глобальной среды R: функция on.exit() и пакет withr
14:09 Как задать локальные опции пакета, функция .onLoad()
17:10 Код пакета определённый вне функций
18:20 Заключение

Ссылки:
1. Сайт курса
2. Видео на YouTube

Предыдущие урок:
1. Обзор рабочего процесса
2. Настройка системы и интеграция RStudio с GitHub

#курсы_по_R
Видео урок: Анализ финансового портфеля в R

Спикер: Вячеслав Арбузов

Описание:
На занятии вы узнаете как можно легко загружать и обрабатывать финансовые данные в R, какие существуют способы собирать из этих данных портфели. Разберем какие есть методы анализа построенного портфеля и посчитаем характеристики портфеля.

Результаты урока:
Вы научитесь работать с финансовыми данными в R. Построите финансовый портфель и узнаете какие есть подходы к анализу построенного портфеля.

Ссылки:
1. Часть 1
2. Часть 2

#видео_уроки_по_R
Друзья, по R не так много telegram каналов, хотя за последние пару лет всё таки появилось несколько новых. Хотел бы выделить один из них, а именно канал Наука и данные под авторством Евгения Матерова, чьи публикация про R я неоднократно публиковал у себя в канале в том числе.

Описание:
Дайджест по полезным и интересным инструментам в науке о данных, машинному обучению и визуализации данных. Создан как записная книжка, которая дополняет блог Rесурсы.

В общем подписывайтесь!
Опубликован 4 урок курса по разработке пакетов: Как и зачем добавлять данные в ваш пакет

В этом видео мы поговорим о том, зачем вам может понадобиться добавить в ваш пакет помимо кода функций ещё и данные, и разберём 5 способов это сделать.

Тайм коды:
00:00 Введение
00:35 Зачем добавлять данные в пакет
02:08 Экспортируемые данные
05:20 Внутренние данные пакета
07:57 Необработанные данные
13:51 Состояние пакета (внутренняя среда пакета)
16:30 Постоянные пользовательские данные
18:30 Прочие каталоги пакета
19:33 Заключение

Ссылки:
1. Сайт курса
2. Видео на YouTube

#курсы_по_R
Уроки по R от ravesli

Самоучитель по R, который в данный момент находится в стадии разработки. На данный момент идёт работа над третьим разделом.

Содержание:

1. Вступление
1.1. Введение в язык программирования R
1.2. Интересные факты о языке программирования R
1.3. Язык R в сравнении с Python
1.4. Как установить RStudio в Windows и Linux?
1.5. Введение в RStudio
1.6. Создание и выполнение R-файла в RStudio
1.7. Комментарии в R
1.8. Переменные и константы в R
1.9. Типы данных в R
1.10. Функции вывода в R
1.11. Числа в R

2. Управление потоком выполнения программы в R
2.1. Операторы сравнения и логические операторы в R
2.2. Условные операторы if…else в R
2.3. Функция ifelse() в R
2.4. Цикл while в R
2.5. Цикл for в R
2.6. Цикл repeat в R
2.7. Операторы break и next в R
2.8. Функции в R

3. Структуры данных в R
3.1. Строки в R
3.2. Векторы в R
3.3. Матрицы в R
3.4. Cписок в R

#курсы_по_R
Опубликовал 5 урок курса "Разработка пакетов на языке R": Метаданные пакета, файл DESCRIPTION

Данный урок посвящён метаданным вашего пакета, и одному из наиболее главных его компонентов - файлу DESCRIPTION,

Тайм коды:
00:00 Вступление
00:39 Назначение и минимальный пример файла DESCRIPTION
01:53 Настройка дефолтных значений полей файла DESCRIPTION с помощью опции usethis.description
03:04 Поля Title и Description
04:09 Поле Authors@R для указания авторства пакета
06:03 Поля URL и BugReports
06:34 Поле License
09:24 Поля Imports и Suggests
12:30 Прочие поля файла DESCRIPTION
14:20 Использование пользовательских полей в файле DESCRIPTION
15:17 Заключение

————————————
В первом анонсе курса, я написал, что точного расписания публикации новых уроков нет, что буду их записывать и публиковать по мере появления времени, тем не менее вот уже 5 вторник подряд у меня получается выпускать новый урок, как минимум две следующие недели будет так же, надеюсь, что и далее каждый новый урок будет публиковаться каждую неделю по вторникам. С такими темпами полный курс будет опубликован в октябре.

Программа курса по прежнему расширяется и прорабатывается.

Ну и конечно, буду благодарен всем, кто поделится ссылкой на курс в своих соц сетях.
————————————

Ссылки:
1. Сайт курса
2. Видео на YouTube
3. Поддержать курс

#курсы_по_R
Видео урок "Факторный анализ и моделирование структурными уравнениями в R"

Длительность: 2 ч 16 м

Описание:
На этом уроке вы научитесь использовать R для факторного анализа и моделирования структурными уравнениями. Вы познакомитесь с гибким инструментарием, позволяющим искать и моделировать сложные закономерности в данных, а также оценивать качество тестов и опросников.

Кому подходит этот урок:
● социологам, маркетологам, HR-специалистам, которые работают с данными опросов и хотят использовать мощный инструмент анализа данных — R;
● аналитикам, стремящимся освоить моделирование маркетинговых и психометрических данных.

#видео_уроки_по_R
Друзья, я крайне редко сейчас выступаю на каких либо открытых ивентах, но в этот четверг 14.09.2023, буду вести вебинар "Язык R в интернет маркетинге" по просьбе Дмитрия Серебренникова и Kazakhstan Sociology Lab.

В ходе вебинара мы будем разбираться с Google Ads API и пакетом rgoogleads, я продемонстрирую как пройти авторизацию, запросить данные из рекламного аккаунта, и провести анализ показателя качества ключевых слов вашего аккаунта.

📅 Дата: 14 сентября 2023 г.
Время: 19:00 ч. (UTC+6, время Астаны)
📍 Онлайн (Zoom) по предварительной регистрации.
HTML Embed Code:
2024/04/29 04:01:32
Back to Top