Джентельменский набор пакетов 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 и веб формы, я бы добавил еще flexdashboard7 сентября 2016 в 15:19
0↑
↓
Добавил. Упоминал его в предыдущих статьях, тут на этапе компоновки затерялся