R4marketing | канал Алексея Селезнёва | Язык R
4.28K subscribers
59 photos
11 files
1.21K links
Автор канала Алексей Селезнёв, украинский аналитик, автор ряда курсов по языку R и пакетов расширяющих его возможности.

В канале публикуются статьи, доклады, новости, уроки и заметки по языку R.

Для связи: @AlexeySeleznev
Реклама: http://bit.ly/39MwJCY
Download Telegram
​​ОН КЛИНИК в поиске Trainee/Junior Web analyst

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

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

Требования к кандидату:
● Умение анализировать и прогнозировать результат;
● Знание Google Analytics, GTM и Excel на уверенном уровне;
● Понимание с BI системами: PowerBI или Google Data Studio;
● Понимание API (настройка сбора данных и интеграции с внешними системами), контроль разработки и внедрения с командой программистов;
● Знание различных типов моделей атрибуции.

Детали вакансии в личных сообщениях: tg @dariabarnett.
​​Уже через 20 минут (в 20:00 по Московскому времени) начнётся бесплатный онлайн митап по R.

Программа:
- Станислав Масюта, "Разработка рекомендательной системы для новичков"
- Игорь Магдеев, "Применение мodel-based clustering в задачах геологии и геофизики" (моделирование смесей Гауссовых распределений)
- Гарик Мороз, "Как подать свой пакет в ROpenSci и зачем это делать"
- Илья Шутов, "Практики применения R в бизнесе"
- Филипп Управителев: R intro

————————-
Запись всех докладов доступна в этом сообщении.
👍5
Как ускорить циклы в R. Многопоточность в языке R

Видео урок посвящённый многопоточности в R, в ходе урока будут рассмотрены следующие пакеты:

- foreach
- doFuture
- parallel
- pbapply
- furrr

Тайм коды:
00:00 Вступление
00:51 Что такое многопоточность
02:20 Какие пакеты мы будем использовать в ходе урока
03:25 Используем foreach в последовательном режиме
07:42 Аргументы конструкции foreach
10:05 Управление объединением результатов итераций цикла foreach
11:05 Выполнение foreach в многопоточном режиме
12:41 Схема реализации многопоточности
13:52 Возвращение к последовательному выполнению и ID процесса
14:56 Бекенды к foreach
15:38 Оператор %dorng%
18:10 Параллельная реализация функций семейства apply
20:52 Список функций пакетов parallel и pbapply
21:54 Пакет furrr
23:10 Соответствие функций пакета purrr и furrr
23:50 Заключение

#видео_уроки_по_R
🔥12👍8
​​Рефакторинг Shiny приложений

Автор: Илья Шутов (@iMissile)

В жизненном цикле любого эксплуатируемого ПО наступает фаза, когда накопившийся набор изменений (CR) ложится неподъемным грузом на первичную архитектуру и вот тут наступает пора рефакторинга. Много книг понаписано на эту тему, есть специфика для различных языков. Ниже затронем только отдельные аспекты, которые могут оказаться полезным применительно к RStudio Shiny приложениям. Это ряд практических методов, трюков и нюансов, накопившихся при рефакторинге, как правило, чужого Shiny кода.


Другие публикации по теме:
- русскоязычный мануал по разработке Shiny приложений
- серия статей, по сути небольшой учебник по созданию Shiny приложений от Дмитрия Храмова

#статьи_по_R
👍9
​​Друья, Филип Управителев (@konhis) организует очередной митап. В этот раз Андрей Огурцов (@biostat_r) расскажет про mlr3. Передаю организаторам слово.

—————-
Приглашаю в субботу 12 февраля в 17.00 MSK на вебинар по ml-фреймворку mlr3.

На вебинаре Андрей Огурцов расскажет про составляющие фреймворка mlr3 для машинного обучения и его основные возможности. Далее будет показан пример решения реальной задачи с использованием gpu-версии xgboost.

Подключиться к конференции Zoom

Идентификатор конференции: 878 2093 0405
Код доступа: 001163

#вебинары_по_R
👍12🔥7
​​Вакансия SEO аналитик в ОН КЛИНИК

Расширяем команду и ищем SEO аналитика.
Рассматриваем кандидатов от 2 лет опыта на позиции middle SEO, агентство или инхаус крупного проекта (от 500к трафика в мес из органики).

Возможен как удалённый так и офисный формат работы.

Задачи:
● Участие в разработке глобальной годовой SEO-стратегии по проекту;
● Анализ тематик, конкурентов и их основных методов продвижения;
● Анализ трендов и новых подходов/тактик на рынке SEO;
● Отслеживание результатов и корректировка стратегии при необходимости для достижения KPI по проекту;
● Планирование, распределение и выполнение задач по проекту согласно стратегии;
● Постоянный поиск новых возможностей для роста проекта;
● Проверка реализации задач по проекту.

Желательно иметь опыт/знания:
● Успешные кейсы по продвижению и решению проблем проектов.
● Серьезный опыт в использовании Google Analytics и других систем аналитики в решении проблем проекта и поиска возможностей для оптимизации и роста.
● Уверенный и обширный опыт работы с сервисами необходимыми для seo.
● Понимание алгоритмов поисковых систем и факторов ранжирования.
● Умение обрабатывать большой объем данных в Excel или Google таблицах.
● Умение правильно и четко излагать свои мысли устно и письменно.
● Абсолютная грамотность.

Команда:
● SEO team lead
● Middle Seo Specialist
● Junior Seo Specialist

Процессы внутри команды выстроены, задачи сложные и интересные, хорошие перспективы и условия для прокачки своих навыков.

Буду рада поделиться всеми подробностями в личных сообщениях: tg @dariabarnett.
❗️Кто тут интересовался автоворонками и чат-ботами, спрашивал, подойдут ли они вашему бизнесу?

Скоро будет проходить Эксклюзивный БЕСПЛАТНЫЙ мастермайнд “Как автоматизировать и увеличить продажи” с международным экспертом по мессенджер-маркетингу Вадимом Дроздовским 🤓

Какие темы будут рассматривать ⬇️

🔹 системный и масштабируемый канал генерации
🔹 потенциальных клиентов
🔹 повторные продажи
🔹 конверсия 80%+ за счет лид-магнита и трипваера
🔹 база постоянных, лояльных клиентов в единой системе
🔹 реферальный и органический бесплатный трафик
🔹 автоматизация пути клиента и прогрева лидов

🕓 Мастермайнд запланирован на 16 февраля в 19:00 по Киеву/20:00 Мск. Только эксклюзивная и практическая информация, без воды и “золотых унитазов” 👌

▶️ Регистрируйтесь по ссылке “для своих” тут - https://bit.ly/3uOJPMd
​​Изобретем велосипед снова или построим график комбинаций бинарных переменных

Автор: Артем Черемухин (@acheremuhin)

По пакету ggplot2 для R написано множество хороших книг, статей - он настолько хорош, что использование пакетов, основанных на других принципах, почти всегда менее эффективно и похоже на попытку изобрести велосипед заново. Но иногда может получиться что-то интересное, но узкоспециализированное - примером этого является пакет ComplexUpset.

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

#статьи_по_R
Из хаоса в бизнес-данных ➡️ к современному управлению BI-проектом за 10 занятий

Запускаем курс о разработке эффективной BI-стратегии для вашей компании.

Модернизировать ваши процессы анализа бизнес-данных поможет Александр Бараков, ex-Head of BI в Luxoft.

За 5 недель мы разберем:

📍 тренды управления аналитической системой в компании
📍 как анализировать информационные потребности бизнеса
📍 ключевые операционные процессы BI и критерии их эффективности
📍 нюансы формирования BI-команд

💡 К 10 занятию вы разработаете готовый макет BI-стратегии.

Регистрируйтесь, чтобы новая стратегия принесла бизнесу практическую пользу и покрывала все его информационные потребности 🔜 https://bit.ly/33k6NPT
👍1
​​Материалы с доклада про машинное обучение с помощью mlr3

Спикер: Андрей Огурцов (@biostat_r)

На вебинаре Андрей Огурцов рассказывает про составляющие фреймворка mlr3 для машинного обучения и его основные возможности. Во второй части дан пример решения реальной задачи с использованием gpu-версии xgboost.

Ссылки:
- видео
- презентация
- поддержать проект

#вебинары_по_R
🔥4👍1
​​24 февраля приглашаем вас на ежегодную онлайн конференцию от SEOWORK “ECOM Trends 2022: аналитика, контент и работа с маркетплейсами”.

В этом году мы поговорим о бесспорных трендах на рынке ecommerce в 2022 году — способах повышения эффективности сайта за счёт аналитики данных проекта, росте конверсии, работой с контентом, также расскажем о продвижении крупных интернет-магазинов и маркетплейсов.

Реальные кейсы, эксперименты, многолетний опыт и возможность лично задать волнующие вопросы непосредственно экспертам. Всего за один день вы значительно прокачаете свою экспертизу и получите полезные знания об аналитике сайта, работе с контентом и маркетплейсами!

Среди спикеров:

💥 Стас Поломарь, CEO SEOWORK,
💥 Денис Пономарев, Ведущий специалист по продвижению ВсеИнструменты,
💥 Виталий Палехин, Product owner DATAFORCE,
💥 Андрей Ефремов, Директор по развитию SEOWORK,
💥 Дмитрий Малашкин, CEO, AnyQuery / Diginetica,
💥 Дмитрий Ромазанов, Head of SEO, SOKOLOV.

ECOM Trends 2022 — конференция в формате единого потока. Вы не пропустите ничего важного и сможете послушать доклады каждого спикера.

Если вы SEO-специалист, аналитик, интернет-маркетолог, руководитель или специалист направления по привлечению трафика — не упустите шанс прокачать свои скиллы!

‼️ Участие БЕСПЛАТНОЕ при условии предварительной регистрации
👍1
​​Работа с API на языке R, введение в пакет httr2

Опубликовал на хабре перевод виньетки "httr2", документации к пакету httr2, который является переосмысленной реализацией httr, и позволяет взаимодействовать с API.

Из статьи вы узнаете, как создавать и отправлять HTTP-запросы и работать с полученными HTTP-ответами. httr2 разработан для точного сопоставления с базовым протоколом HTTP, который я объясню по мере продвижения.

Содержание:
● Построение HTTP запроса
● Отправка запроса и обработка ответа
● Контролирование процесса запроса
● От автора перевода

Другие посты по данной теме:
- Недавно случайно наткнулся на httr2, т.е. Хедли работает над новым интерфейсом для взаимодействия с различными API.

#статьи_по_R
🔥8👍5
​​Курс "Разведывательный анализ данных с помощью языка R"

Команда преподавателей ФББ МГУ организует бесплатный курс по EDA, tidyverse и статистике в R, который может быть полезен для новичков. Записи лекций и семинаров, также задания скорее всего будет доступны онлайн.

Курс состоит из 15 лекций и 15 практических занятий, разделенных на 4 логических блока:

- введение в R
- манипуляции с данными табличного типа
- визуализация данных
- статистическая обработка

Старт курса: 18.02.2022

Форма записи на курс доступна по ссылке.
Чат курса в Telegram.

Ссылки:
- Запись первой лекции уже доступна по ссылке
- Запись семинара
- Презентация

#курсы_по_R
​​Как переопределить горячие клавиши для нативного пайпа в RStudio

Лично я по прежнему использую %>%, и пока не вижу причины переходить на нативный пайп в R, тем не менее любителям base R и горячих клавиш возможно захочется переопределить функцию сочетания Ctrl + Shift + M, и использовать его для подстановки нативного пайпа |>.

Сделать это можно в настройках, в меню Tools > Global Options > Code -> Editing и ставим галочку Use native pipe operator.

#заметки_по_R
👍6
​​Воскресное!
🔥185
​​Учебный проект R Intro для практики работы в R

Автор: Филипп Управителев (@konhis)

Невероятно крутой обучающий проект, в котором Филипп собирает различные учебные материалы по R. Сайт состоит из 4ёх разделов, ниже немного подробнее о каждом:

TEXTBOOK

Короткое введение в основы языка R: синтаксис, создание функций, системы объектно-ориентированного программирования, особенности выполнения выражений, работа с памятью и т. д.

EXERCIESES

Сборники задачек по синтаксису, основам программирования и некоторым пакетам.

WEBINARS

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

COURSE

Записи и конспекты курса по сбору и анализу больших данных в экономико-социологических исследованиях (с помощью R), который Филипп Управителев вел в НИУ ВШЭ в 2020/2021 учебном году.


#курсы_по_R
👍4🔥3
​​Видео урок, практическое занятие по ggplot2 - Пингвины Палмера

Автор: Артём Голубничий

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

Слои ggplot2, которые будут разобраны в ходе урока:
geom_point()
geom_col()
geom_histogram()
geom_boxplot()
geom_density()
facet_grid()
geom_smoot()
ggplotly()

Другие посты по теме:
- Видео урок Грамматика графики в R. Пакет ggplot2
- Базовые инструменты визуализации в R с использованием пакета ggplot2

#видео_уроки_по_R
👍4
​​Лущим веб с помощью R

Автор: Илья Шутов (@iMissile)

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

Так же читайте:
- Видео воскресного скRинкаста посвящённого веб скреппингу
- Web scraping с помощью R. Сравнение оценок фильмов на сайтах Кинопоиск и IMDB

#статьи_по_R
👍1
​​Продвинутый unnest и его неизвестные аргументы

При парсинге сложных списков, полученных в виде ответа от различных API я зачастую использую функции tidyr::unnest_longer() и unnest_wider().

Все пакеты входящие в tidyverse имеют шикарную, наверное лучшую, документацию. Все функции имеют детальное описание, и огромное количество примеров кода их использования. Но в функциях разворачивания списков, таких как hoist(), unnest_longer() и unnest_wider(), есть несколько аргументов, которые имеют лишь краткое описание, но примеров их использования нет. Да и мои попытки нагуглить варианты их использования не увенчались успехом.

Ниже мы разберём аргументы ptype и transform доступные в unnest_*() функциях.


Описание аргументов:

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

● ptype, .ptype - Необязательный аргумент, принимает именованный список прототипов, объявляющий желаемый тип вывода каждого компонента. Используйте этот аргумент, если вы хотите проверить, что каждый элемент имеет типы, которые вы ожидаете при разворачивании списка.


Примеры использования:

Для начала сгенерируем тестовый набор данных:
 
# тестовый список
test_list <- list(
list(name = 'John',
age = '37',
children = list('Paul', 'Ron')),
list(name = 'Tim',
age = '25',
children = list('Liza'))
)


Пробуем развернуть этот список, не используя дополнительные аргументы:
 
# первая попытка развёртывания
tibble(uncol = test_list) %>%
unnest_wider(uncol)

# A tibble: 2 x 3
name age children
<chr> <chr> <list>
1 John 37 <list [2]>
2 Tim 25 <list [1]>


Какие проблемы мы можем решить с помощью аргументов ptype и transform

Итак, вроде мы развернули наш список, но появилось две проблемы, которые далее мы исправим.

1. Возраст в поле age является текстом, требуется привести его к целочисленному типу.
2. Поле children по прежнему является списком, а нам необходимо сделать так, что бы имена детей, были перечислены в одной ячейке через запятую.


Аргумент ptype

ptype позволяет вам добавить проверку типов данных, выходящего тиббла, например в следующем примере мы добавим проверку поля age.
 
# добавляем проверку типа данных в поле age
tibble(uncol = test_list) %>%
unnest_wider(
uncol,
ptype = list(age = 2)
)

Error: Can't convert <character> to <double>.


Сообщение об ошибке малоинформативное, но суть не меняется, мы проверяем тип данных в указанных полях , и если какое то из полей не соответствует указанному прототипу - мы получим ошибку.

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

Аргумент transform

Аргумент transform позволит нам решить описанные ранее проблемы, а именно:

1. Преобразовать поле age в целочисленный тип.
2. Объединить элементы вложенного поля children через запятую, избавившись от вложенности.
 
# используем ptype и transform
tibble(uncol = test_list) %>%
unnest_wider(
uncol,
transform = list(
children = function(x) paste(x, collapse = ', '),
age = as.integer),
ptype = list(age = 2),
)

# A tibble: 2 x 3
name age children
<chr> <dbl> <chr>
1 John 37 Paul, Ron
2 Tim 25 Liza


Ссылки:
- видео урок по работе с функциями разворачивания списков
- перевод виньетки "Rectangling"

#заметки_по_R
👍4