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


Гео и язык канала: Украина, Русский
Категория: Технологии


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

Связанные каналы

Гео и язык канала
Украина, Русский
Категория
Технологии
Статистика
Фильтр публикаций


Как разбить таблицу на части по заданному количеству строк

Иногда вам может потребоваться разбить таблицу на части, либо по количеству строк, либо по значениям какого то поля, в этом вам поможет функция split() из базового R.

Для начала построим тестовую таблицу:

# к-во строк в тестовой таблице
rows_in_table


Добавляем полезные аннотации к части вызова пакетв в своих скриптах

Принято прописывать команды загрузки пакетов в начале вашего скрипта, обычно это выглядит как-то так:

library(rjira)
library(dplyr)
library(tidyr)
library(snakecase)
library(purrr)
library(stringr)
library(bigrquery)
library(googlesheets4)
library(glue)

Это реальный пример загрузки пакетов в одном из моих скриптов. Пакет annotater добавляет в RStudio Addon, который позволяет добавить описание вызовам пакетов, на данный момент доступно 5 типов аннотаций:

1. Annotate package calls in active file

Добавляет тайтлы пакетов к команде их вызовов. т.е. превратит пример выше в следующий:


library(rjira) # Work with Jira API
library(dplyr) # A Grammar of Data Manipulation
library(tidyr) # Tidy Messy Data
library(snakecase) # Convert Strings into any Case
library(purrr) # Functional Programming Tools
library(stringr) # Simple, Consistent Wrappers for Common String Operations
library(bigrquery) # An Interface to Google's 'BigQuery' 'API'
library(googlesheets4) # Access Google Sheets using the Sheets API V4
library(glue) # Interpreted String Literals

2. Annotate package repository source in active file

Добавляет информацию о репозитории и версии пакета:

library(rjira) # [github::selesnow/rjira] v0.0.0.9000
library(dplyr) # CRAN v1.1.2
library(tidyr) # CRAN v1.2.1
library(snakecase) # CRAN v0.11.0
library(purrr) # CRAN v0.3.4
library(stringr) # CRAN v1.4.1
library(bigrquery) # CRAN v1.5.0
library(googlesheets4) # CRAN v1.0.1
library(glue) # CRAN v1.6.2

3. Annotate tittles and repository sources in active file

Эта опция добавит одновременно и описание пакета и описание репозитория и его версии

4. Annotate each package's function calls

Пропишет возле вызова пакета список функций. который в текущем скрипте из этого пакета используется.

library(rjira) # jr_get_fields jr_issue_search
library(dplyr) # %>% filter mutate left_join group_by row_number ungroup pull select all_of coalesce any_of where rename_with matches across
library(tidyr) # %>% all_of any_of unnest_wider matches hoist
library(snakecase) # to_snake_case
library(purrr) # %>% map_dfc map
library(stringr) # %>% str_remove
library(bigrquery) # bq_auth bq_dataset bq_dataset_query bq_table bq_table_upload
library(googlesheets4) # gs4_auth range_read %>%
library(glue) # glue_sql

5. Expand metapackages

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

Например вызов library(tidyverse) будет преобразован в:

####
library(ggplot2)
library(tibble)
library(tidyr)
library(readr)
library(purrr)
library(dplyr)
library(stringr)
library(forcats)
library(lubridate)
####

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

Пример работы на изображении к посту.

Ссылка на GitHub пакета annotater.

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


Релиз bigrquery 1.5.0

Я довольно плотно работаю с BigQuery, соответственно не редко использую для этого пакет bigrquery. Пару дней назад был достаточно важный релиз bigrquery 1.5.0,

Что нового:

Основные изменения:

* Из пакета были исключены все устаревшие функции, т.е. те, названия которых начинаются НЕ с префикса bq_.
* bq_table_download() теперь возвращает в текстовом формате поля, которые в BigQuery хранятся в неизвестном для R типе. Ранее вы получали ошибку при попытке загрузить таблицы с полями которые имели тип BIGNUMERIC или JSON.
* Теперь bigrquery анализирует даты с помощью пакета clock. Это приводит к значительному повышению производительности и гарантирует корректный анализ дат до 1970-01-01.

Изменение в DBI интерфейсе:

* Наборы данных и таблицы bigquery теперь будут отображаться на панели подключений при использовании dbConnect().
* Добавлена поддержка функций dbAppendTable(), dbCreateTable() и dbExecute()
* В dbGetQuery() и dbSendQuery() поддерживают передачу параметров запросов с помощью аргумента params.

Так же ряд менее значительных изменений получил и dbplyr интерфейс, например tbl() теперь работает не только с физическими таблицами, но и с представлениями (View).

Более подробно обо всех изменениях можно почитать на GitHub.

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


Время обновить пакеты rfacebookstat и rlinkedinads

1. rfacebookstat - пакет для запроса статистики из рекламных кабинетов Facebook и Instagram

Пакет был переведён на работу с Facebook Marketing API v18.

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

2. rlinkedinads - пакет для запроса статистики из рекламных кабинетов Linkedon

В rlinkedinads была исправлена ошибка обновления токена. Кроме обновления никаких дополнительных действий не требуется.

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


Курс "Разработка пакетов на языке R" опубликован на bookdown.org

В начале месяца я упоминал о завершении разработки последнего, 14-го урока курса и о планах опубликовать его на bookdown. Итак, рад сообщить, что курс теперь доступен на указанной платформе.

О курсе:
Что касается содержания курса, он был создан под впечатлением от книги Хедли Викхема и Дженни Брайан "R Packages (2e)". Мой опыт в разработке R-пакетов начался в 2016 году, и, как выяснилось, мои первые шаги были далеко не самыми эффективными. Книга Хедли предоставила современный и эффективный подход к разработке пакетов, что я внедрил в этот курс.

Курс объединяет мой семилетний опыт в создании пакетов с тем, что было представлено Викхемом и Брайан в их книге. У этих авторов есть чему поучиться.

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

Хотя некоторые теоретические главы книги были опущены, вместо них были добавлены уроки по созданию пакетов-обёрток над API с использованием httr2 и gargle.

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

Программа курса:
1. Обзор рабочего процесса разработки пакета
2. Настройка системы и интеграция с GitHub
3. Рекомендации по организации R кода
4. Добавление данных в пакет
5. DESCRIPTION - Метаданные пакета
6. NAMESPACE - Зависимости пакета
7. Разработка юнит-тестов к функциям пакета (пакет testthat)
8. Написание документации к функциям пакета
9. Виньетки и прочая опциональная документация пакета
10. Разработка сайта пакета (пакет pkgdown)
11. Публикация в CRAN
12. Разработка пакета обёртки над API (пакет httr2)
13. Разработка пакета обёртки для Google API (пакет gargle)
14. Как создать коллекцию пакетов

Буду признателен за репосты!

Ссылки:
- Курс на bookdown
- Сайт курса
- Плейлист на YouTube
- Благодарности автору

#курсы_по_R


Опубликовал видео воркшопа по анализу показателя качества ключевых слов в Google Ads с помощью пакета rgoogleads

Воркшоп прошел ещё 14 сентября, но у меня только недавно добрались руки до его записи.

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

Тайм коды:
00:00:00 Приветствие
00:01:12 О спикере
00:03:43 Программа воркшопа
00:04:14 Что такое контекстная реклама и сервис Google Ads
00:06:34 Варианты авторизации в пакете rgoogleads
00:07:24 Авторизация в Google Ads с помощью дефолтных параметров пакета rgoogleads
00:10:00 Создание собственных учётных данных для авторизации
00:21:12 Авторизация в Google Ads с помощью собственных учётных данных
00:23:00 Иерархия аккаунтов в Google Ads API
00:24:53 Ограничения при использовании собственных учётных данных
00:25:54 Автоматизация процесса авторизации с помощью переменных среды
00:26:43 Опции пакета rgoogleads
00:27:34 Запрос отчётов из Google Ads API
00:30:49 GAQL QueryBuilder
00:34:52 Пример запроса отчётов из Google Ads API
00:39:54 Аргументы функции gads_get_report()
00:41:13 Загрузка отчётов из Google Ads API в многопоточном режиме
00:44:34 Запрос объектов рекламного кабинета Google Ads
00:45:49 Что такое показатель качества ключевых слов и как проходит аукцион среди рекламодателей в Google Ads
00:47:47 Что влияет на показатель качества ключевых слов Google Ads
00:48:29 На что влияет показатель качества Google Ads
00:49:16 Пример анализа качества ключевых слов
01:03:36 Ответы на вопросы

Организаторы:
- Дмитрий Серебренников
- Kazakhstan Sociology Lab (сайт, инстаграм, LinkedIn, группа в тг)

Ссылки:
- Видео на YouTube
- Страница с материалами воркшопа

#видео_уроки_по_R


Вышел httr2 1.0.0

Команда Хедли работала над вторым поколением httr на протяжении последних двух лет, и вчера был официальный релиз стабильной версии httr2.

httr2 является преемником httr.Основное его отличие состоит в том, что у него есть явный объект запроса, который можно создать с помощью нескольких вызовов функций. Это делает интерфейс более естественным для работы в пайпах и в целом упрощает жизнь, поскольку вы можете итеративно создавать сложный запрос. httr2 также основан на 10-летнем опыте разработки пакетов, который мы накопили с момента создания httr, поэтому его использование должно быть более удобным. Если вы в настоящее время являетесь пользователем httr, вам не нужно переходить на него, поскольку мы продолжим поддерживать пакет в течение многих лет, но если вы начинаете новый проект, я бы рекомендовал вам попробовать httr2.

От себя добавлю, что с момента выхода httr2 все свои новые пакеты я уже писал на его основе.

————————————————
Что нового в httr2 1.0.0

В этом выпуске представлены улучшенные инструменты для выполнения нескольких запросов, а также множество исправлений ошибок и незначительных улучшений для OAuth.

Для управления политикой отправки набора запросов в данном релизе добавлены следующие 3 функции:

● req_perform_sequential() - берет список запросов и выполняет их по одному.
● req_perform_parallel() - берет список запросов и выполняет их параллельно (до 6 одновременно по умолчанию). По смыслу похоже на req_perform_sequential(), но, очевидно, быстрее за счет потенциальной нагрузки на сервер. У него также есть некоторые ограничения: самое главное, он не может обновить токен OAuth с истекшим сроком действия и игнорирует политику обработки ошибок настроенную через`req_retry()` и ограничение скорости отправки запросов через req_throttle().
● req_perform_iterative() - принимает один запрос и функцию обратного вызова для генерации следующего запроса из предыдущего ответа. Это будет продолжаться до тех пор, пока функция обратного вызова не вернется NULL или max_reqs не будут выполнены запросы. Это очень полезно для API с поддержкой пагинации, которые сообщают только URL-адрес следующей страницы.

Небольшой пример кода для работы с набором запросов:

# формируем URL для запроса
urls


rlinkedinads - Пакет для работы с Linkedin Advertising API

Ранее никогда не приходилось работать с Linkedin API, но в этом месяце была задача написать скрипт, который бы запрашивал статистику их рекламного кабинета Linkedin, соответственно в ходе её решения появился пакет для работы с Linkedin Advertising API.

На данный момент в пакете реализован следующий функционал:

● Интерфейс авторизации
● Запрос всех объектов рекламного кабинета
● Запрос статистики из рекламного кабинета

Установить пакет можно из CRAN или Github:

install.packages('rlinkedinads')
pak::pak('selesnow/rlinkedinads')

Пример кода:
library(rlinkedinads)

lkd_set_login('ВАШ ЛОГИН')
lkd_set_account_id(ID ВАШЕГО РЕКЛАМНОГО АККАУНТА)

# Иерархия рекламного аккаунта
accounts


Уес МакКинни присоединился к Posit (ex. RStudio)

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

Мы рады сообщить, что Уэс МакКинни присоединился к Posit!

—————————————
Уэс МакКинни — предприниматель и разработчик ПО с открытым исходным кодом, который за последние 15 лет внес значительный вклад в развитие сообществ науки о данных и аналитики.

Его пакет pandas стал стандартом для анализа и обработки данных Python. Его книга
«Python для анализа данных» научила целое поколение ученых, занимающихся данными, как продуктивно работать с новой платформой pandas, NumPy, matplotlib и Jupyter.

С момента создания pandas Уэс неустанно работал над тем, чтобы сделать основные системы, которые мы используем для обработки и анализа данных, масштабируемыми, совместимыми и компонуемыми с помощью таких проектов, как
Ibis , Apache Arrow и Feather .

И теперь мы очень рады сотрудничать с Уэсом и внести свой вклад в экосистему PyData. Когда мы сменили название на
Posit, нашей целью было объединить усилия для создания отличных инструментов для анализа данных, независимо от языка, и сотрудничество с Уэсом — огромный шаг вперед в реализации этой мечты.

Прочтите
сообщение в блоге Уэса, чтобы узнать больше о том, над чем он планирует работать в Posit. Нам не терпится увидеть, что он создаст в ближайшие годы!
—————————————

Пожелаем Уэсу успехов!

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


Опубликован 14ый, и завершающий урок курса по разработке пакетов на языке R: Создание мета-пакета

В заключительном уроке курса мы с вами научимся создавать собственные мета пакеты. Мета пакет это не самостоятельный пакет, а просто коллекция объединённых пакетов, одним из наиболее известных мета-пакетов является tidyverse, в ядро которого входят такие пакеты как: dplyr, tidyr, ggplot2, stringr и т.д.

Это самый короткий урок данного курса.

Тайм коды:
00:00 Вступление
01:10 Пример создания мета-пакета с помощью пакета pkgverse
05:47 Аргументы функции pkgverse()
07:12 Заключение

————————————
Сегодня опубликован 14ый, и последний урок курса по разработке пакетов, работа над курсом продлилась ровно 3 месяца, 7 августа был опубликован 1ый урок, и сегодня - 7 ноября, последний.

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

В ближайшие дни опубликую курс на bookdown, о чём тут отдельно сообщу.
————————————

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

#курсы_по_R


Друзья, каналу @R4marketing сегодня исполняется 5 лет, первый небольшой юбилей.

1 ноября 2018 года я сообщил о запуске канала у себя в facebook.

При желании можно поддержать канал по этой ссылке, либо переводом 5 USDT на TrustWallet по этой ссылке.

Спасибо вам!


Опубликован 13ый урок курса по разработке пакетов на языке R: Разработка пакета-обёртки над Google API

Этот урок является логическим продолжением темы, начатой в прошлом, но тут мы поговорим о ещё более частном случае, о том, как написать обёртку над любым Google API. Компания Google разработала сотни полезных сервисов, которыми пользуются миллионы людей по всему миру, большинство этих сервисов предоставляют API, и в этом уроке мы разберёмся как обёртывать эти API в пакет. В ходе урока мы разберёмся со специальным пакетом gargle, который очень упрощает разработку пакетов взаимодействующих с Google API.

Тайм коды:
00:00 Вступление
00:55 Создание учётных данных в Google Cloud
08:52 Функционал пакета gargle
09:50 Пример работы с пакетом gargle
17:08 Обзор рабочего процесса создания пакета обёртки над Google API
17:34 Интерфейс авторизации
26:08 Объект отвечающий за состояние авторизации в вашем пакете
27:38 Как обращаться к токену для подписи HTTP запросов
29:54 Заключение

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

#курсы_по_R


Опубликован 12 урок курса по разработке пакетов на языке R: Разработка пакета-обёртки над API

В этом уроке мы разберёмся с тем, что такое API, из каких компонентов состоят HTTP запросы и ответы. И в целом на нескольких примерах разберём функционал пакета httr2, и то, как с его помощью написать пакет-обёртку над API.

Тайм коды:
00:00 Вступление
00:45 Что такое API
01:49 Компоненты HTTP запросов и ответов
03:26 Введение в пакет httr2
08:04 Функции пакета httr2
09:36 Этапы работы с API
10:10 Простейший пример обёртки над Faker API
18:44 Управление конфиденциальными данными
29:33 Пример обёртки над NYTimes Books API
30:51 Обработка ошибок в HTTP ответах
34:06 Ограничение скорости отправки запросов
37:18 Как работать с API токена в пакетах-обёртках над API
39:32 Протокол OAuth
41:00 Пример обёртки над Facebook API
49:46 Обзор всего рабочего процесса
52:11 Заключение

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

#курсы_по_R


Опубликован 11ый урок курса по разработке пакетов на языке R: Публикация пакета в CRAN

За 10 предыдущих уроков мы подробно разобрали каждый этап процесса разработки собственного пакета, и наконец пришло время отправить пакет в основной репозиторий хранения R пакетов - CRAN. В этом уроке мы подробно разберём как подготовить свой пакет к публикации, и отправить его в CRAN.

Тайм коды:
00:00 Вступление
01:03 Настройка непрерывной интеграции для регулярной проверки вашего пакета на разных платформах с помощью GitHub Actions
03:43 Создаём issue со списком действий по подготовке и отправке новой версии пакета на CRAN
05:54 Действия при первой отправке пакета на CRAN
07:43 Проверка полей Title и Description файла DESCRIPTION
08:25 Дополнительные проверки и исправление ошибок
16:54 Отправка пакета на CRAN
21:27 Как проходит проверка вашего пакета на стороне CRAN
22:56 Что делать в случае отказа на публикацию пакета
24:27 Получаем письмо с результатами автопроверки CRAN
24:50 Сообщение о том, что ваш пакет успешно прошел проверку и будет опубликован в CRAN
25:14 Действия, которые необходимо выполнить после публикации пакета в CRAN
28:22 Заключение

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

#курсы_по_R


Опубликован 10 урок курса по разработке пакетов на R: Разработка сайта пакета (пакет pkgdown)

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

Тайм коды:
00:00 Вступление
01:13 Обзор рабочего процесса
02:41 Настройка пакет для разработки сайта
03:38 Запуск процесса создания сайта
04:09 Обзор разделов сайта пакета
05:21 Публикация сайта на GitHub, и настройка автоматической её пересборки при любом изменении пакета
06:40 Разница между виньеткой и статьёй сайта
07:42 Раздел reference, группировка и сортировка документации к функциям
11:01 Раздел articles, группировка и сортировка списка статей сайта
12:36 Управление навигационной панелью сайта
15:11 Управление боковой панелью сайта
17:50 Изменение темы сайта пакета
19:05 Разработка логотипа пакета
23:01 Как добавить счётчик Google Analytics на сайт пакета
23:51 Заключение

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

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

#курсы_по_R

2k 2 4 13 23

Копірайтинг, рерайтинг і переклади — це контент-студія @WordFactory

✍️Українсь
ка, англійська, польська, німецька й інші мови.

Ми — офіц
ійна компанія з ТОВ в Україні та Європі. Надаємо всі потрібні для бухгалтерії документи.

Спеціалізуємося на тематиках від digital, медицини, фінтеху до e-com.

Як ми працюємо:

👌Якісно
Кожен текст перевіряє редактор.

⚡️Швидко
До 10 000 символів — за добу; 1 000 000 тисячознаків на місяць.

☑️Відповідно до TЗ
Контроль унікальності, наявності ключів, відсутність текстів від штучного інтелекту.

Багато
До 30 фултайм-авторів в одному проєкті, до 500 тисячознаків на день.

Щоб познайомитися з WordFactory ближче, пишіть:

tg: @WordFactory
mail: manager@wordfactory.ua
http://surl.li/kwnxm

🎁Ваш промокод на знижку 25% на 1 перший текст: R4marketing06.10


Опубликован 9 урок курса по разработке пакетов на R: Виньетки и прочая опциональная документация пакета

В этом уроке мы разберёмся с опциональной документацией уровня пакета:

* Виньетки - Статьи, подробно описывающие в свободной форме функционал пакета;
* README - Общее описание цели пакета и нескольких простых примеров его использования;
* NEWS - Файл в котором фиксируются все изменения вашего пакета.

Тайм коды:
00:00 Вступление
00:52 Что такое виньетки
01:45 Рабочий процесс создания виньеток
07:29 Метаданные виньетки
08:32 Разметка текста в Rmarkdown
14:24 Как добавить график в виньетку
16:19 Как добавить таблицу в виньетку
23:03 Опции чанков
28:01 Хранение исходников виньеток
28:47 Файл README
33:20 Файл NEWS
37:44 Заключение

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

#курсы_по_R


Опубликован 8 урок курса по разработке пакетов на R - Документирование функций пакет

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

Тайм коды:
00:00 Вступление
00:43 Какие компоненты пакета отвечают за документацию функций
01:31 Рабочий процесс
04:47 Структура roxygen комментариев
05:34 Особенности разметки roxygen комментариев
07:10 Из каких разделов состоит документация к функциям пакета
09:06 Title, Description и Details
12:07 Документирование аргументов функции
14:55 Возвращаемое функцией значение
16:42 Примеры использования функции
20:12 Повторное использование документации
22:23 Документация уровня пакета
23:50 Заключение

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

#курсы_по_R


Опубликован 7 урок курса по разработке пакетов на R: Разработка юнит-тестов к функциям вашего пакета

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

Тайм коды:
00:00 Вступление
00:54 Неформальный процесс тестирования
03:10 Рабочий процесс тестирования
05:44 Настройка проекта пакета для тестирования
08:34 Как создать файл тестирования для функции
10:36 Как организованы файлы тестирования
15:16 Функции-ожидания, семейство expect_*()
20:07 Запуск тестов
23:41 Snapshot тесты
28:41 Управление Snapshot тестами
31:02 Заключение

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

#курсы_по_R


Опубликован 6 урок курса "Разработка пакетов на R" - Управление зависимостями пакета

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

Тайм коды:
00:00 Вступление
00:50 Преимущества и недостатки зависимостей
02:41 Анализ зависимостей пакетов
05:50 Какие компоненты пакета отвечают за его зависимости
07:37 Файл NAMESPACE
08:35 Рабочий процесс установки зависимостей
14:56 Когда стоит импортировать объекты из других пакетов
16:38 Как обращаться к функциям импортированным из других пакетов в коде, тестах и примерах вашего пакета, если поля указаны в поле Imports
18:04 Как обращаться к функциям импортированным из других пакетов в коде вашего пакета, если поля указаны в поле Suggest
21:34 Как обращаться к функциям импортированным из других пакетов в тестах вашего пакета, если поля указаны в поле Suggest
23:10 Как обращаться к функциям импортированным из других пакетов в виньетках и примерах к функциям вашего пакета, если поля указаны в поле Suggest
24:26 Как обращаться к функциям импортированным из других пакетов в коде, тестах и примерах вашего пакета, если поля указаны в поле Depends
26:05 Импорт и экспорт S3 методов
28:30 Заключение

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

#курсы_по_R

Показано 20 последних публикаций.