Джентельменский набор пакетов 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
Нажмите здесь для печати.