08 июля 2017

Обзор интересных R-пакетов за июнь 2017 г.



  • В июне вышла новая версия R (v3.4.1) под кодовым названием "Single Candle".
  • dbplyr: этот новый пакет содержит весь код, который ранее отвечал за работу с удаленными базами данных в пакете dplyr. См. пояснения в статье Хэдли Уикхема.
  • desctable: формирование таблиц с описательными статистиками, как стандартными, так и пользовательскими. Пакет обладает простым синтаксисом в духе dplyr. См. примеры здесь.
  • dplyr: опубликована новая версия (v0.7) этого популярного пакета. С перечнем основных нововведений можно ознакомиться в блоге компании RStudio.
  • replyr: удобный dplyr-подобный пакет для работы с "большими данными" (например, с данными, обрабатываемыми на Spark-кластере). См. примеры здесь.
  • RJSplot: очередной пакет для создания интерактивных графиков и диаграмм средствами R и JavaScript. См. многочисленные примеры здесь.
  • simglm: позволяет создавать искусственные наборы данных на основе обобщенных линейных моделей с заданной пользователем структурой (включая модели со смешанными эффектами).
  • simstudy: еще один пакет для создания искусственных наборов данных с заданными пользователем свойствами. См. примеры здесь.
  • sparklyr: на платформе DataCamp появился новый обучающий курс по работе с этим пакетом.
  • tidygraph: визуализация графов и дендрограмм с использованием dplyr-подобного синтаксиса. См. примеры здесь.


05 июля 2017

Визуализация пространственно-распределенных данных с помощью пакетов ggmap и ggplot2



Aвтор: Владимир Шитиков

Введение

Целью многих исследований является анализ конфигурации пространственных объектов и отображение ее структуры на картосхемах. В среде R для решения этой задачи часто используют методы и функции пакетов sp, maps, RgoogleMaps и связанных с ними ресурсов. При этом для создания основного слоя карты часто применяются свободно распространяемые shape-файлы, содержащие точечные и контурные графические примитивы, соответствующие отдельным географическим пунктам или регионам (см. пример здесь и здесь). Однако, по сравнению с картами, полученными на основе специализированных геоинформационных систем, таких как ArcGIS ESRI, подобная визуализация может показаться не столь симпатичной.

Ниже рассматриваются некоторые "продвинутые" методы для быстрой визуализации пространственных данных в среде R, основанные на двух идеях: (1) формирование "на лету" статических карт необходимого качества и масштаба с использованием актуальной информации серверов GoogleMap, OpenStreetMap, Stamen Maps или CloudMade и (2) широкое использование грамматики создания графических слоев для отображения необходимой информации на основе функций пакета ggplot2 (Wickham 2009, 2016; Мастицкий 2016). В результате развития этих концепций был разработан удобный пакет R, названный ggmap (Kahle & Wickham 2013). Продемонстрируем некоторые его возможности с использованием собственных данных.



04 июня 2017

Обзор интересных R-пакетов за май 2017 г.





  • CausalImpact: великолепный инструмент от аналитиков из Google, который позволяет оценить эффект экспериментального воздействия на изменяющуюся во времени переменную при отсутствии контрольной группы.
  • defer: пакет, с помощью которого можно удобно "обернуть" несколько функций в одну высокоуровневую функцию. Вот небольшой пример:

    C <- 10
    
    f <- function(x) x*x + C
    g <- function(y) (f(y) + 10) * f(y+3)
    h <- function(z) mean(c(g(z), g(z+1), g(z+2)))
    
    wrapper <- defer(h)
    #> Found functions:
    #>   g, f
    #> variables:
    #>   C
    #> library calls:
    #>   base::mean
    
    rm(C, f, g, h)
    
    wrapper(10)
    #> [1] 29688.67
    

  • d3Tree: R-интерфейс к JavaScript-библиотеке D3 для создания "схлопывающихся" дендрограмм. См. примеры здесь.
  • MultiVarSel: реализация метода Perrot-Dockes et al. (2017) для селекции информативных предикторов для общих линейных моделей. См. примеры здесь.
  • networktools: набор функций для анализа графов (сетей). В частности, в этом пакете реализована новая метрика для оценки "влияния" (impact) отдельных узлов и ребер графа на устойчивость его структуры.
  • philentropy: позволяет вычислить 46 различных метрик сходства/расстояния между многомерными объектами. Вот список реализованных в этом пакете метрик:

    library(philentorpy)
    
    getDistMethods()
    
    ##  [1] "euclidean"         "manhattan"         "minkowski"         "chebyshev"        
    ##  [5] "sorensen"          "gower"             "soergel"           "kulczynski_d"     
    ##  [9] "canberra"          "lorentzian"        "intersection"      "non-intersection" 
    ## [13] "wavehedges"        "czekanowski"       "motyka"            "kulczynski_s"     
    ## [17] "tanimoto"          "ruzicka"           "inner_product"     "harmonic_mean"    
    ## [21] "cosine"            "hassebrook"        "jaccard"           "dice"             
    ## [25] "fidelity"          "bhattacharyya"     "hellinger"         "matusita"         
    ## [29] "squared_chord"     "squared_euclidean" "pearson"           "neyman"           
    ## [33] "squared_chi"       "prob_symm"         "divergence"        "clark"            
    ## [37] "additive_symm"     "kullback-leibler"  "jeffreys"          "k_divergence"     
    ## [41] "topsoe"            "jensen-shannon"    "jensen_difference" "taneja"           
    ## [45] "kumar-johnson"     "avg"

  • R, а также Python и F# теперь интегрированы в IDE Visual Studio, что, согласно задумке Microsoft, добавит удобства в процесс разработки "умных приложений" на основе этих языков благодаря использованию одной IDE.
  • shinymaterial: позволяет оформлять Shiny-приложения в духе "материального дизайна" (material design), предложенного Google. Подробнее см. здесь.
  • simmer: набор функций для моделирования дискретных событий.
  • Syberia: новый фреймворк для разработки предсказательных моделей средствами R и последующего внедрения этих моделей в бизнес-процессы. См. также видео доклада по Syberia, сделанного недавно на конференции R/Finance.

10 мая 2017

Обзор интересных R-пакетов за март-апрель 2017 г.



  • 21 апреля 2017 г. вышла новая версия R (v3.4.0), в которую вошло несколько изменений, связанных с увеличением скорости вычислений. Подробнее можно узнать здесь.
  • choroplethr: предназначен для создания картограмм. Кроме того, с помощью этого пакета можно выполнять соединение с несколькими удаленными источниками картографических данных.
  • cronR: позволяет задавать расписание выполнения R-скриптов на Unix/Linux машинах. Есть и аналогичный пакет для Windows-машин - taskscheduleR (см. примеры здесь).
  • errors: в физике и других научных дисциплинах любое измерение всегда сопровождается определенной погрешностью. В R одновременно работать с результатами подобных измерений и их погрешностями не трудно, но утомительно. Новый пакет errors предлагает удобное решение для работы с такими данными.
  • HIBPwned: R-интерфейс к API сервиса "Have I Been Pwned?". С помощью этого сервиса можно выяснить, находится ли тот или иной адрес электронной почты в списках адресов, учетные данные которых стали по тем или иным причинам публично доступными.
  • kerasR: R-интерфейс к популярной Python-библиотеке для "глубинного обученияKeras. См. примеры здесь.
  • Компания Microsoft объявила о выпуске новой версии Microsoft R Server (v9.1).
  • modeleval: набор утилит для анализа качества предсказательных моделей, построенных с помощью пакета caret.
  • readxl: как следует из названия, этот пакет предназначен для организации удобной работы с файлами Excel из среды R.
  • RInside: с помощью этого пакета можно встраивать функционал R в приложения, написанные на C++.
  • Sinew: позволяет автоматически создать "скелет" справочного файла для той или иной функции в формате roxygen2, что значительно сэкономит время при разработке новых пакетов для R.
  • shinyWidgets: набор дополнительных виджетов для разработки Shiny-приложений.
  • shinyjqui: с помощью этого пакета можно добавлять jQuery UI-элементы в Shiny-приложения. Примеры приведены здесь и здесь.
  • Исправлены небольшие ошибки в популярном пакете quantmod, предназначенном для разработки трейдинговых моделей.


30 апреля 2017

Делимся опытом: визуализация данных из лог-файлов



Сегодня в рамках рубрики "Делимся опытом" мы представляем вашему вниманию небольшую заметку Дмитрия Берга, в которой он рассказывает о визуализации данных из лог-файлов средствами сервиса plot.ly.