Pull to refresh

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

Reading time 3 min
Views 14K

Продолжение предыдущих публикаций «Инструменты 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 — поддержка итераторов
  • foreach — улучшенная поддержка циклических конструкций
  • 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
  • googleVis — коннектор к Google Charts диаграмм. Детальнее здесь и здесь
  • 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.)


Предыдущий пост: "Экосистема R как инструмент для автоматизации бизнес-задач"
Следующий пост: "Применение R для работы с утверждением «Кто виноват? Конечно ИТ!»"

Tags:
Hubs:
+21
Comments 20
Comments Comments 20

Articles