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

в 11:55, , рубрики: big data, data mining, data science, 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.)

Автор: i_shutov

Источник

Поделиться новостью

* - обязательные к заполнению поля