Получи случайную криптовалюту за регистрацию!

R4marketing | канал Алексея Селезнёва | Язык R

Логотип телеграм канала @r4marketing — R4marketing | канал Алексея Селезнёва | Язык R R
Логотип телеграм канала @r4marketing — R4marketing | канал Алексея Селезнёва | Язык R
Адрес канала: @r4marketing
Категории: Технологии
Язык: Русский
Количество подписчиков: 4.45K
Описание канала:

Автор канала Алексей Селезнёв, украинский аналитик, автор ряда курсов по языку R и пакетов расширяющих его возможности.
В канале публикуются статьи, доклады, новости, заметки по языку R.
Для связи: @AlexeySeleznev
Реклама: http://bit.ly/39MwJCY

Рейтинги и Отзывы

2.33

3 отзыва

Оценить канал r4marketing и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

0

4 звезд

1

3 звезд

0

2 звезд

1

1 звезд

1


Последние сообщения 11

2022-02-24 12:00:05 ​​Продвинутый 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

1 John 37
2 Tim 25

Какие проблемы мы можем решить с помощью аргументов 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 to .

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

Прототип - это просто образец данных нужного типа, если мы хотим убедиться, что какое то поле является целым числом, то необходимо в качестве прототипа передать любое целое число, я использовал 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

1 John 37 Paul, Ron
2 Tim 25 Liza

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

#заметки_по_R
508 viewsAlexey Seleznev, 09:00
Открыть/Комментировать
2022-02-23 12:00:06 ​​Лущим веб с помощью R

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

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

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

#статьи_по_R
549 viewsAlexey Seleznev, 09:00
Открыть/Комментировать
2022-02-22 12:00:06 ​​Видео урок, практическое занятие по ggplot2 - Пингвины Палмера

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

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

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

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

#видео_уроки_по_R
531 viewsAlexey Seleznev, 09:00
Открыть/Комментировать
2022-02-21 12:00:04 ​​Учебный проект R Intro для практики работы в R

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

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

● TEXTBOOK

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

● EXERCIESES

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

● WEBINARS

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

● COURSE

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


#курсы_по_R
545 viewsAlexey Seleznev, 09:00
Открыть/Комментировать
2022-02-20 15:18:30 ​​Воскресное!
770 viewsAlexey Seleznev, 12:18
Открыть/Комментировать
2022-02-19 13:00:02 ​​Как переопределить горячие клавиши для нативного пайпа в RStudio

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

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

#заметки_по_R
354 viewsAlexey Seleznev, 10:00
Открыть/Комментировать
2022-02-18 10:30:06 ​​Курс "Разведывательный анализ данных с помощью языка R"

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

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

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

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

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

Запись первой лекции уже доступна по ссылке.

#курсы_по_R
717 viewsAlexey Seleznev, edited  07:30
Открыть/Комментировать
2022-02-17 12:02:31 ​​Работа с API на языке R, введение в пакет httr2

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

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

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

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

#статьи_по_R
556 viewsAlexey Seleznev, 09:02
Открыть/Комментировать
2022-02-16 12:00:05 ​​24 февраля приглашаем вас на ежегодную онлайн конференцию от SEOWORK “ECOM Trends 2022: аналитика, контент и работа с маркетплейсами”.

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

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

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

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

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

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

Участие БЕСПЛАТНОЕ при условии предварительной регистрации
487 viewsAlexey Seleznev, 09:00
Открыть/Комментировать
2022-02-15 19:40:00 ​​Материалы с доклада про машинное обучение с помощью mlr3

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

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

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

#вебинары_по_R
522 viewsAlexey Seleznev, 16:40
Открыть/Комментировать