Мое знакомство с языком R началось в 2016 году, когда я решил использовать его для сбора данных через API из различных рекламных платформ. Для некоторых из них уже существовали готовые решения в виде пакетов, но для менее известных площадок пришлось создавать собственные инструменты. Тогда я столкнулся с ограниченностью существующих ресурсов и решил самостоятельно разобраться в создании R-пакетов.
На тот момент подробных руководств было мало, и я приходил к пониманию процесса методом проб и ошибок. Используя базовые возможности R, такие как функция package.skeleton(), я разрабатывал пакеты. Этот опыт был насыщен избытком ненужной ручной работы, например я руками редактировал все .Rmd
файлы, из которых далее генерируются HTML файлы с документацией к функциям.
Сегодня в главном хранилище R-пакетов - CRAN, опубликовано 15 моих собственных пакетов. За годы разработки я столкнулся с различными трудностями, но мой опыт привел меня к замечательной книге Хедли Викхема и Дженни Брайан "R Packages (2e)", которая послужила основой для этого курса.
Тем не мене, курс не является полным повторением книги, я упустил из его программы наиболее теоретические главы, но добавил некоторые темы, не упомянутые в ней. В Результате данный курс сконцентрировал в себе передовые методики разработки пакетов описанные Викхемом и Брайан, дополненные моим семилетним практическим опытом.
Разработка R-пакетов - отличный способ улучшить навыки программирования на R и глубже погрузиться в изучение языка. Этот курс шаг за шагом проведет вас через процесс создания собственных пакетов. Первый урок позволит вам написать свой первый пакет. Более того, вы сможете внести свой вклад в развитие языка, делясь своими наработками в виде R-пакетов.
Ссылку на курс вы найдёте в конце этой публикации.
Если вы интересуетесь анализом данных возможно вам будут полезны мои telegram и youtube каналы. Большая часть контента которых посвящены языку R.
Для кого этот курс
Данный курс я не могу рекомендовать новичкам. Заниматься разработкой пакетов лучше имея за плечами определённый опыт написания кода на R. Поэтому не стоит начинать изучения R с данного курса, ниже я дам небольшую подборку подготовительных курсов, изучив которые можно попробовать себя в разработке пакетов.
Программа курса
Обзор рабочего процесса разработки пакета
Настройка системы и интеграция с GitHub
Рекомендации по организации R кода
Добавление данных в пакет
DESCRIPTION - Метаданные пакета
NAMESPACE - Зависимости пакета
Разработка юнит-тестов к функциям пакета (пакет testthat)
Написание документации к функциям пакета
Виньетки и прочая опциональная документация пакета
Разработка сайта пакета (пакет pkgdown)
Публикация в CRAN
Разработка пакета обёртки над API (пакет httr2)
Разработка пакета обёртки для Google API (пакет gargle)
Как создать коллекцию пакетов
Ссылка на курс
Курс и все его материалы доступны совершенно бесплатно без каких либо ограничений по этой ссылке.