- PVSM.RU - https://www.pvsm.ru -

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

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

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

Пакеты Hadley Wickham (Hadleyverse [4])

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

  • 'dplyr' — расширения грамматических конструкций для манипуляций с данными. В качестве вводной статьи, я бы посоветовал "dplyr and pipes: the basics" [6], несмотря на то, что опубликована она была в 2014-м году
  • 'ggplot2' — расширения грамматических конструкций для визуализации. Представление о возможностях можно получить в книге "Cookbook for R", глава "Graphs" [7]
  • 'scales' — расширение ggplot2 для масштабирования осей графиков
  • 'ggmap' — расширение ggplot2 для работы с картографией
  • 'lubridate' — "магия" по работе с датами и временем. Идеология описана в статье "Dates and Times Made Easy with lubridate" [8]
  • 'readr' — улучшенный импорт текстовых данных в R
  • 'forcats' — улучшенная работа с категориальными переменными
  • 'tibble' — современное переосмысление штатной структуры данных data.frame
  • 'readxl' — импорт excel данных в R
  • 'purrr' — расширения грамматических конструкций для функционального программирования
  • 'tidyr'- улучшенная работа с "грязными" исходными данными. Идеология описана в статье "Tidy Data" [9]
  • 'reshape2' — улучшенная трансформация данных. Идеология описана в статье "Reshaping Data with the reshape Package" [10]
  • '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 [11]
  • 'knitr' — подготовка документов различных форматов (статика и интерактив, детальнее здесь [12]) из единого формата R Markdown [13]. В целом, это вообще отдельный мир.

Shiny и веб формы

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

Цвета и темы

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

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

Автор: i_shutov

Источник [22]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/data-mining/184469

Ссылки в тексте:

[1] «Инструменты DataScience как альтернатива классической интеграции»: https://habrahabr.ru/post/309246/

[2] «Экосистема R как инструмент для автоматизации бизнес-задач»: https://habrahabr.ru/post/309350/

[3] CRAN: https://cran.r-project.org/

[4] Hadleyverse: http://blog.revolutionanalytics.com/2015/03/hadleyverse.html

[5] GitHub: https://github.com/hadley?tab=repositories

[6] "dplyr and pipes: the basics": http://seananderson.ca/2014/09/13/dplyr-intro.html

[7] "Graphs": http://www.cookbook-r.com/Graphs/

[8] "Dates and Times Made Easy with lubridate": https://www.jstatsoft.org/article/view/v040i03/v40i03.pdf

[9] "Tidy Data": http://vita.had.co.nz/papers/tidy-data.pdf

[10] "Reshaping Data with the reshape Package": https://www.jstatsoft.org/article/view/v021i12/v21i12.pdf

[11] broom: An R Package for Converting Statistical Analysis Objects Into Tidy Data Frames: http://arxiv.org/pdf/1412.3565v2.pdf

[12] здесь: http://yihui.name/knitr/

[13] R Markdown: http://rmarkdown.rstudio.com/

[14] здесь: http://rmarkdown.rstudio.com/flexdashboard/

[15] здесь: http://gallery.htmlwidgets.org/

[16] здесь: https://plot.ly/r/

[17] здесь: https://rstudio.github.io/leaflet/

[18] здесь: https://rstudio.github.io/DT/

[19] здесь: http://hafen.github.io/rbokeh/#background

[20] здесь: https://cran.r-project.org/web/packages/viridis/vignettes/intro-to-viridis.html

[21] здесь: https://cran.r-project.org/web/packages/ggthemes/vignettes/ggthemes.html

[22] Источник: https://habrahabr.ru/post/309420/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best