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

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

Для связи: @AlexeySeleznev
Реклама: http://bit.ly/39MwJCY
Download Telegram
​​Вакансия 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
Скриптовый язык R позволяет эффективно решить любую задачу из области статистики и data science как с точки зрения расчетов, так и с точки зрения визуализации.

Помимо специализированных расчетов с помощью R существуют BI системы, которые позволяют с помощью удобного функционала разложить данные компании по полочкам 📈, а также быстро масштабировать создание и доставку отчетности до конечных пользователей за минимальное время .

Одной из такой BI систем является Qlik Sense (QS). Про этот инструмент можно найти много полезной информации (книги, статьи, бесплатные курсы) на канале @qlik_insight.

Несколько основных фактов про клик:
💡 Основная фича Qlik - ассоциативный механизм связывания данных. Она значительно облегчает восприятие контекста (как связаны между собой сущности аналитической модели на основе данных), а следовательно способствует формированию правильных выводов, полученных на основе данных.
💡 В QS есть встроенный ETL - поэтому эту BI можно начать использовать еще до проектирования хранилища данных (или использовать его вместо хранилища).
💡 Данные, рассчитанные в модели можно сохранить в QVD и переиспользовать в других моделях или других инструментах. Делается это 1 командой.
💡 Загрузка данных из qvd - десятки млн строк за секунды.
💡 Отсутствует краткое увеличение расходов 💸 на лицензирование BI в случае масштабирования решения Qlik с небольшого сервера до кластера из нескольких мощных нод.
💡 Можно настроить версионирование скриптов загрузки и преобразования данных через git.
💡 Внутренний AI предлагает выбрать сразу же после загрузки данных подходящие визуализации и опубликовать их на дашборд. No-code BI в действии)

Автор канала Шамаев Иван делится самыми интересными и актуальными материалами по Qlik Sense - https://xn--r1a.website/qlik_insight
👍3
​​Уже 6 день в моей стране идут военные действия.

Я русский по национальности и украинец по гражданству. У меня много родственников и друзей в России. Я родился на Дальнем Востоке в семье офицера радио разведки, моего отца нет уже 10 лет, но он даже в самых страшных кошмарах не мог бы представить того, что случилось 24 февраля. Я до последнего не верил, что Россия может напасть на Украину.

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

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

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

 
plot.new()
polygon(x = c(0, 1, 1, 0), y = c(0, 0, 0.5, 0.5), col = "#FFDD00")
polygon(x = c(0, 1, 1, 0), y = c(0.5, 0.5, 1, 1), col = "#0057B7")
152😢31👍19👏2
Многопоточность в R: пакет future

Пакет future является ядром библиотеки futureverse, и пожалуй самым мощным интерфейсом параллельного программирования на языке R.

В ходе урока мы разберём его интерфейс и функционал на нескольких практических примерах.

Тайм коды:
00:00 Вступление
01:15 Явное и неявное объявление фьючерсов
04:33 Аргументы функции future
05:40 Локальное окружение фьючерса
06:42 Стратегии выполнения вычислений в пакете future
08:20 Как менять стратегию выполнения кода с помощью future
10:42 Настройка плана cluster
12:09 Вложенные друг в друга фьючерсы
18:00 Отладка ошибок в фьючерсах
19:03 Многопоточное итерирование с помощью future
21:58 Пример использования future в многопоточном режиме
26:07 Опции и переменные среды пакета future
28:00 Другие пакеты входящие в библиотеку futureverse
29:10 Заключение

—————————
Этот видео урок должен был быть опубликован ещё 1 марта. С момента запуска канала, я старался держать темп на уровне хотя бы одной публикации в будний день, но в условиях войны это невозможно. Тем не менее, цель данного канала - образование, и в текущей ситуации для многих вопрос образования очень актуален, к тому же у меня были записаны и смонтированы несколько уроков ещё в декабре - январе, и уже готов курс "Циклы и функционалы в языке R". Курс постараюсь опубликовать в свободный доступ уже на следующей неделе.
—————————

#видео_уроки_по_R
👍37🔥6
​​Бесплатный курс "Циклы и функционалы в языке R"

Друзья, рад представить вам свой новый курс "Циклы и функционалы в R". Курс и все сопутствующие материалы к нему распространяются бесплатно, и являются общедоступными.

Программа курса:

● Циклы for, while и repeat
● Обработка ошибок: конструкции try() и tryCatch()
● Функции семейства apply
● Итерирование с помощью функций пакета purrr
● Обработка ошибок: функции safely(), possibly(), quietly()
● Введение в многопоточность, пакеты: foreach, doFuture, pbapply, furrr
● Реализация многопоточности с помощью пакета future

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

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

#курсы_по_R
👍389
​​Список разработанных мной курсов и учебников по языку R

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

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

Что означают указанные уровни сложности:

Низкий - можно проходить не имея никакого опыта программирования и работы с языком R

Средний - необходимо иметь базовой понимание синтаксиса языка R

Высокий - требует от вас уверенного владение языком R

1. Курс "Язык R для пользователей Excel"

Уровень сложности: низкий

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

2. Курс "Введение в dplyr 1.0.0"

Уровень сложности: средний

Описание:
Является логическим продолжением предыдущего курса, Курс родился из серии публикаций Хедли Викхема, предшествовавших релизу dplyr 1.0.0.

Данный курс поможет вам разобраться с этими обновлениями.

3. Курс "Циклы и функционалы в языке R"

Уровень сложности: средний

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

4. Учебник "Разработка telegram ботов на языке R"

Уровень сложности: высокий

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

#курсы_по_R
👍45🔥17🤩1
​​Какие изменения нас ждут в R 4.2.0

Ниже
перечислю основные изменения в предстоящем релизе:

● В R 4.2.0 был улучшен нативный пайп |>, теперь с помощью нижнего подчёркивания вы можете прокидывать результат предыдущей операции, не только в первый аргумент следующей функции, но и в любой другой именованный аргумент.
 
# This works in R 4.2
mtcars |>
lm(mpg ~ disp, data = _)


● Была улучшена страница справки, например примеры в блоке Examples теперь можно запустить кликом по ссылке "Run examples"

● Операторы while() и if() теперь возвращают ошибку, если заданное условие имеет длинну более 1:
 
if (1:2 == 1) do_something()
# Error in if (1:2 == 1) do_something() : the condition has length > 1


● В Windows прекращена поддержка 32 битной версии R

● На Windows пользовательская библиотека пакетов перемещена с R\win-library\x.y (где x.y номер версии R) в скрытую директорию данных приложений C:\Users\username\AppData\Local.

Ссылки:
- Информация данного поста заимствована из статьи "New features in R 4.2.0"
- Скачать R 4.2.0 alpha для Windows можно по ссылке

#новости_и_релизы_R
👍23