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

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


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

2022-08-31 11:00:02 ​​nplyr: Грамматика манипулирования вложенными данными

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

● nest_mutate() - mutate()
● nest_select() - select()
● nest_filter() - filter()
● nest_summarise() - summarise()
● nest_group_by() - group_by()

На самом деле, в nplyr есть обёртки практически всех dplyr глаголов.

Далее рассмотрим несколько примеров, для их демонстрации мы возьмём набор данных о странах на каждом континенте из пакета gapminder, и свернём этот набор данных по континентам, сами данные по странам закинем во вложенный столбец country_data.

library(nplyr)

gm_nest <-
gapminder::gapminder_unfiltered %>%
tidyr::nest(country_data = -continent)

gm_nest
#> # A tibble: 6 × 2
#> continent country_data
#>
#> 1 Asia
#> 2 Europe
#> 3 Africa
#> 4 Americas
#> 5 FSU
#> 6 Oceania

Теперь с помощью nplyr мы можем производить манипуляции данными, не разворачивая столбец-список. В следующем примере мы получим данные о населении переведённые в миллионы человек, за максимальный год по каждой стране.

gm_nest %>%
nest_filter(country_data, year == max(year)) %>%
nest_mutate(country_data, pop_millions = pop/1000000) %>%
slice_head(n = 1) %>%
tidyr::unnest(country_data)

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

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

gm_nest %>%
tidyr::unnest(country_data) %>%
group_by(continent) %>%
filter(year == max(year)) %>%
mutate(pop_millions = pop/1000000) %>%
ungroup() %>%
filter(continent == "Asia")

Также nplyr поддерживает операции по группировке и агрегации данных:

gm_nest %>%
nest_group_by(country_data, year) %>%
nest_summarise(
country_data,
n = n(),
lifeExp = median(lifeExp),
pop = median(pop),
gdpPercap = median(gdpPercap)
)

Ссылки:
- примеры кода заимствованы из README
- ещё один интересный пример можно найти в виньетке "Use case for nplyr"

#заметки_по_R
390 viewsAlexey Seleznev, 08:00
Открыть/Комментировать
2022-08-30 11:00:05 ​​Прогнозирование гибели на пожарах на основе алгоритма бэггинга

Автор: Евгений Матеров

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

Содержание:
● Установка библиотеки
● Исходные данные
● Построение модели
● Оценка модели
● Заключение

#статьи_по_R
769 viewsAlexey Seleznev, 08:00
Открыть/Комментировать
2022-08-29 11:00:05 ​​Как связать Rstudio с Github: актуально для пользователей Mac OS

Автор: Владимир Костыря (@BabyAbby)

В данной заметке рассмотрим, как связать Rstudio с вашим аккаунтом на Github. Отмечу сразу, данная заметка подойдет тем, кто работает через операционную систему mac os.

#статьи_по_R
318 viewsAlexey Seleznev, 08:00
Открыть/Комментировать
2022-08-28 12:00:09 ​​Top постов за август 2022

По пересылкам:
1.
Курс "Разведывательный анализ данных с помощью языка R"
2. Работа с базами данных на языке R
3. Обновление учебника "Разработка Telegram ботов на языке R"
4. В туманности статистических гипотез, или про пакет SHT
5. Оценка доверительных интервалов bootstrap на примере суперкубка TidyTuesday

По просмотрам:
1.
Обновление учебника "Разработка Telegram ботов на языке R"
2. Игра на языке R построенная на основе R6 классов
3. Сравниваем select и relocate для изменения порядка столбцов в dplyr
4. Моё лицо, когда я вижу, что кто-то учит Python вместо R
5. Работа с базами данных на языке R

По реакциям:
1. Моё лицо, когда я вижу, что кто-то учит Python вместо R
2. Люди, которые используют пакеты и люди, которые пишут пакеты
3. Обновление учебника "Разработка Telegram ботов на языке R"
4. Работа с базами данных на языке R
5. Курс "Разведывательный анализ данных с помощью языка R"

#top
656 viewsAlexey Seleznev, 09:00
Открыть/Комментировать
2022-08-26 11:00:03 ​​Как найти наиболее часто используемые имена переменных во всех R-скриптах

Достаточно важно давать понятные, описательные и при этом желательно не очень длинные имена создаваемым объектам. От имён переменных во многом зависит читабельность вашего кода.

Хотите проверить, какие имена переменным вы наиболее часто присваиваете? Код приведённый ниже поможет построить рейтинг имён объектов в ваших R скриптах.

Перед использованием скрипта установите пакеты tidyverse и tfse

library(tidyverse)

## Функция чтения списка файлов
## Список расширений файлов можно менять на своё усмотрение
read_r_files <- function(...) {
dirs <- unlist(list(...))
r <- unlist(lapply(dirs, list.files,
pattern = "\\.(R|Rmd|Rmarkdown|rmd|r|Rhistory)$",
recursive = TRUE,
full.names = TRUE,
all.files = TRUE))
suppressWarnings( x <- unlist(lapply(r, tfse::readlines)))
x
}

## Читаем все R файлы
rss <- read_r_files(c(r"(C:\Users\Ashel\Documents)", r"(C:\my_develop_workshop)"))


## из каждого файла забираем всё, что идёт до знака присваивания "<-"
df_names <- rss %>%
stringr::str_extract("\\w+(?=.*<-)") %>%
na.omit() %>%
table(df_name = .) %>%
as_tibble()

## выводим рейтинг наиболее используемых имён
df_names %>%
arrange(-n)

Ссылки:
- идея и её реализация подсмотрена тут

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

Лекторы:
● Пензар Дмитрий Дмитриевич
● Жарикова Анастасия Александровна
● Валяева Анна Александровна

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

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

Список лекций:
1. Введение в базовый R. Работа с векторами.
2. Работа с данными табличного типа.
3. Введение в Tidyverse.
4. Строки и графика
5. Ggplot2 графика.
6. Теория вероятностей. Статистика.
7. Непрерывные случайные величины. Центральная предельная теорема.
8. Tidyverse. Как смотреть на данные.
9. Функции. Функциональное программирование.
10. Работа с табличными данными. Продвинутый dplyr.
11. Теплокарты и другие рисунки.
12. Альтернативы, виды t-тестов и доверительный интервал.
13. Множественное тестирование и корреляция.

Ссылки:
- видео лекции
- материалы
- о курсе

#курсы_по_R
1.0K viewsAlexey Seleznev, 08:00
Открыть/Комментировать
2022-08-24 11:00:04 ​​В учебник "Разработка telegram ботов на языке R" добавлена глава "Добавляем боту асинхронность"

Очередное обновление учебника. На этот раз я добавил главу посвящённую асинхронности бота.

Содержание главы:
1. Что такое асинхронное программирование
2. Пример последовательного бота с поддержкой длительных команд
3. Многопоточность в R
4. Используем future для построения асинхронного бота
5. Управление количеством потоков
6. Функция promises::future_promise()
7. Заключение

#курсы_по_R
1.1K viewsAlexey Seleznev, 08:00
Открыть/Комментировать
2022-08-23 11:00:04 ​​Оценка доверительных интервалов bootstrap на примере суперкубка TidyTuesday

Автор перевода: Владимир Костыря (@BabyAbby)

Описание:
В сегодняшней заметке будет продемонстрирована относительно новая функция из пакета rsample - reg_intervals. Данная функция разработана для быстрого поиска доверительных интервалов bootstrap.

#статьи_по_R
1.1K viewsAlexey Seleznev, 08:00
Открыть/Комментировать
2022-08-22 11:00:04 ​​Сателлит «RMarkdown» — что на обратной стороне?

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

RMarkdown прочно вошел в инструментальный стек R и воспринимается как базовый компонент. Однако, применительно к RMarkdown практически все осуществляют такой же промах. Связка «RMarkdown — это html отчет» формируется на первом шаге и дальше именно так и применятся. Реальность несколько многообразнее.

Смотрите также:
- Storytelling R отчет против BI, прагматичный подход
- R Markdown. Как сделать отчет в условиях неопределенности?

#статьи_по_R
1.3K viewsAlexey Seleznev, 08:00
Открыть/Комментировать