Джентельменский набор пакетов R для автоматизации бизнес-задач

Продолжение предыдущих публикаций «Инструменты DataScience как альтернатива классической интеграции» и
«Экосистема R как инструмент для автоматизации бизнес-задач».
Настоящая статья является ответом на возникшие вопросы по пакетам R, которые полезны для реализации описанных подходов. Я ее рассматриваю исключительно как справочную информацию, и отправную точку для последующего детального изучения заинтересовавшимися, поскольку за каждым пакетом скрывается огромное пространство со своей философией и идеологией, математикой и путями развития.


Как правило, все пакеты (9109 штук на 07.09.2016) находятся в репозитории CRAN. Те, что по тем или иным причинам, пока не опубликованы в репозиторий, могут быть найдены на GitHub. Итак, кратким списком:


Пакеты Hadley Wickham (Hadleyverse)

Детально про пакеты можно прочесть на репозитории GitHub


  • 'dplyr' — расширения грамматических конструкций для манипуляций с данными. В качестве вводной статьи, я бы посоветовал «dplyr and pipes: the basics», несмотря на то, что опубликована она была в 2014-м году
  • 'ggplot2' — расширения грамматических конструкций для визуализации. Представление о возможностях можно получить в книге «Cookbook for R», глава «Graphs»
  • 'scales' — расширение ggplot2 для масштабирования осей графиков
  • 'ggmap' — расширение ggplot2 для работы с картографией
  • 'lubridate' — «магия» по работе с датами и временем. Идеология описана в статье «Dates and Times Made Easy with lubridate»
  • 'readr' — улучшенный импорт текстовых данных в R
  • 'forcats' — улучшенная работа с категориальными переменными
  • 'tibble' — современное переосмысление штатной структуры данных data.frame
  • 'readxl' — импорт excel данных в R
  • 'purrr' — расширения грамматических конструкций для функционального программирования
  • 'tidyr'- улучшенная работа с «грязными» исходными данными. Идеология описана в статье «Tidy Data»
  • 'reshape2' — улучшенная трансформация данных. Идеология описана в статье «Reshaping Data with the reshape Package»
  • 'stringr' — улучшенная работа с текстовыми строками
  • 'curl' — улучшенный подход для работы с данными по HTTP
  • 'httr' — упрощенный подход по работе с данными по протоколу http
  • 'xml2' — улучшенная работа по поддержке XML

Элементы программирования и работы с данными
  • 'futile.logger' — развитая система логирования
  • 'iterators' — поддержка итераторов
  • 'magrittr' — граматтика работы с маршрутизацией данных (pipe)
  • 'jsonlite' — упрощенная поддержка JSON
  • 'sp' — поддержка работы с геоданными
  • 'data.table' — расширение штатной модели данных data.frame для работы с большими данными
  • 'broom' — преобразование данных стат. функций в формат tidy data (см. выше). Детально можно ознакомиться в статье broom: An R Package for Converting Statistical Analysis Objects Into Tidy Data Frames
  • 'knitr' — подготовка документов различных форматов (статика и интерактив, детальнее здесь) из единого формата R Markdown. В целом, это вообще отдельный мир.

Shiny и веб формы
  • 'shiny' — сам фреймворк
  • 'shinythemes' — дополнительные темы (shiny построен на bootstrap)
  • 'highcharter' — враппер для highcharts
  • 'shinydashboard' — наборы функций для построения дашбордов (немного устарел)
  • 'flexdashboard' — современный подход к построению дашбордов. Детально можно ознакомиться здесь
  • 'shinyjs' — дополнительный JS интерактив
  • 'htmlwidgets' — поддержка html виджетов, галерея здесь
  • 'plotly' — интерфейс к интерактивной системе визуализации Plot.ly. Детально можно ознакомиться здесь
  • 'leaflet' — враппер для интерактивных карт JS leaflet. Детально можно ознакомиться здесь
  • 'DT' — враппер для интерактивных таблиц JS DataTable. Детально можно ознакомиться здесь
  • 'rbokeh' — R интерфейс к библиотеке визуализации Bokeh. Детально можно ознакомиться здесь

Цвета и темы
  • 'RColorBrewer' — пакет для гибкой работы с цветами
  • 'viridis' — цветовая палитра Virdis. Детали здесь
  • 'wesanderson' — еще палитра
  • 'ggthemes' — темы для ggplot2. Детали здесь

В своей деятельности я еще использую 2–3 десятка других пакетов, но они имеют более узкую специфику, либо просто обеспечивают коннекты к внешним источикам (ODBC, No-SQL, git, dropbox, etc.)

Комментарии (2)

  • 7 сентября 2016 в 15:07

    0

    В раздел Shiny и веб формы, я бы добавил еще flexdashboard
    • 7 сентября 2016 в 15:19

      0

      Добавил. Упоминал его в предыдущих статьях, тут на этапе компоновки затерялся

© Habrahabr.ru