;;; r.scm --- custom Guix pakcages for R ;;; ;;; Copyright © 2019 Kyle Meyer ;;; ;;; This file is NOT part of GNU Guix. ;;; ;;; This program is free software; you can redistribute it and/or ;;; modify it under the terms of the GNU General Public License as ;;; published by the Free Software Foundation, either version 3 of the ;;; License, or (at your option) any later version. ;;; ;;; This program is distributed in the hope that it will be useful, ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ;;; General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with this program. If not, see ;;; . ;;; Commentary: ;;; ;;; NOTE: These packages are quite stale and very likely do not work ;;; with the current Guix. (define-module (km-packages r) #:use-module (gnu packages) #:use-module (gnu packages compression) #:use-module (gnu packages cran) #:use-module (gnu packages gcc) #:use-module (gnu packages graph) #:use-module (gnu packages haskell) #:use-module (gnu packages multiprecision) #:use-module (gnu packages statistics) #:use-module (gnu packages tls) #:use-module (gnu packages xml) #:use-module (gnu packages web) #:use-module (guix build-system r) #:use-module (guix download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages)) (define-public r-stanheaders (package (name "r-stanheaders") (version "2.16.0-1") (source (origin (method url-fetch) (uri (cran-uri "StanHeaders" version)) (sha256 (base32 "0i1gq32ys7iwgbdrwc86ww8kj5aqc7jbl663dynackb7wmqwlb7r")))) (properties `((upstream-name . "StanHeaders"))) (build-system r-build-system) (home-page "http://mc-stan.org/") (synopsis "C++ header files for Stan") (description "Prvoides the C++ header files of the Stan project used by @code{r-rstan}.") (license license:bsd-3))) (define-public r-rstan (package (name "r-rstan") (version "2.16.2") (source (origin (method url-fetch) (uri (cran-uri "rstan" version)) (sha256 (base32 "0irqh4ggk23s3c0ipihwv8m0qmkxh5j7vdxgnsarhqca6254r2vb")))) (build-system r-build-system) (arguments `(#:phases (modify-phases %standard-phases (add-after 'unpack 'fix-dates (lambda _ (substitute* "R/zzz.R" (("value = Sys.time\\(\\)") "value = as.POSIXct(\"1970-1-1 00:00:00\", tz = \"UTC\")") ;; Prevent build failure for "character string is not ;; in a standard unambiguous format". (("as.POSIXct\\(\"1970-01-01 00:00.00 UTC\"\\)") "as.POSIXct(\"1970-1-1 00:00:00\", tz = \"UTC\")"))))))) (propagated-inputs `(("r-bh" ,r-bh) ("r-ggplot2" ,r-ggplot2) ("r-gridextra" ,r-gridextra) ("r-inline" ,r-inline) ("r-rcpp" ,r-rcpp) ("r-rcppeigen" ,r-rcppeigen) ("r-stanheaders" ,r-stanheaders))) (home-page "http://mc-stan.org/users/interfaces/rstan.html") (synopsis "R interface to Stan") (description "User-facing R functions are provided to parse, compile, test, estimate, and analyze Stan models by accessing the header-only Stan library provided by @code{r-stanheaders}. The Stan project develops a probabilistic programming language that implements full Bayesian statistical inference via Markov Chain Monte Carlo, rough Bayesian inference via 'variational' approximation, and (optionally penalized) maximum likelihood estimation via optimization. In all three cases, automatic differentiation is used to quickly and accurately evaluate gradients without burdening the user with the need to derive the partial derivatives.") (license license:gpl3+))) (define-public r-shinyjs (package (name "r-shinyjs") (version "0.9.1") (source (origin (method url-fetch) (uri (cran-uri "shinyjs" version)) (sha256 (base32 "0h90k4f93lbfraldjxlbhjyjr54c3hiv7gyrbqz70j08s0bhyama")))) (build-system r-build-system) (propagated-inputs `(("r-digest" ,r-digest) ("r-htmltools" ,r-htmltools) ("r-jsonlite" ,r-jsonlite) ("r-miniui" ,r-miniui) ("r-shiny" ,r-shiny))) (home-page "http://deanattali.com/shinyjs") (synopsis "Easily Improve the User Experience of Your Shiny Apps in Seconds") (description "Perform common useful JavaScript operations in Shiny apps that will greatly improve your apps without having to know any JavaScript. Examples include: hiding an element, disabling an input, resetting an input back to its original value, delaying code execution by a few seconds, and many more useful functions for both the end user and the developer. 'shinyjs' can also be used to easily call your own custom JavaScript functions from R.") (license license:agpl3+))) (define-public r-colourpicker (package (name "r-colourpicker") (version "0.3") (source (origin (method url-fetch) (uri (cran-uri "colourpicker" version)) (sha256 (base32 "0sxxllfwdbdc283nk9b82xrvb6xali14c6qfywm2qck0k8jh7ppy")))) (build-system r-build-system) (propagated-inputs `(("r-ggplot2" ,r-ggplot2) ("r-htmltools" ,r-htmltools) ("r-htmlwidgets" ,r-htmlwidgets) ("r-miniui" ,r-miniui) ("r-shiny" ,r-shiny) ("r-shinyjs" ,r-shinyjs))) (home-page "https://github.com/daattali/colourpicker") (synopsis "A Colour Picker Tool for Shiny and for Selecting Colours in Plots") (description "This package provides a colour picker that can be used as an input in Shiny apps or 'Rmarkdown' documents. A Plot Colour Helper tool is available as an 'RStudio' addin, which helps you pick colours to use in your plots. A more generic Colour Picker 'RStudio' addin is also provided to let you select colours for use in your R code.") (license license:expat))) (define-public r-dygraphs (package (name "r-dygraphs") (version "1.1.1.4") (source (origin (method url-fetch) (uri (cran-uri "dygraphs" version)) (sha256 (base32 "0vwg9q7xrwxkm92d55ik9gdky42bj3jlh6fi4jzwyl5nfdswklb9")))) (build-system r-build-system) (propagated-inputs `(("r-htmltools" ,r-htmltools) ("r-htmlwidgets" ,r-htmlwidgets) ("r-magrittr" ,r-magrittr) ("r-xts" ,r-xts) ("r-zoo" ,r-zoo))) (home-page "https://github.com/rstudio/dygraphs") (synopsis "Interface to 'Dygraphs' Interactive Time Series Charting Library") (description "An R interface to the 'dygraphs' JavaScript charting library (a copy of which is included in the package). Provides rich facilities for charting time-series data in R, including highly configurable series- and axis-display and interactive features like zoom/pan and series/point highlighting.") (license #f))) (define-public r-packrat (package (name "r-packrat") (version "0.4.8-1") (source (origin (method url-fetch) (uri (cran-uri "packrat" version)) (sha256 (base32 "1wvjyvb7yy6hq188msqzf8qa00lhll865jp939byc6d4zpscm0x2")))) (build-system r-build-system) (home-page "https://github.com/rstudio/packrat/") (synopsis "A Dependency Management System for Projects and their R Package Dependencies") (description "Manage the R packages your project depends on in an isolated, portable, and reproducible way.") (license license:gpl2))) (define-public r-pki (package (name "r-pki") (version "0.1-3") (source (origin (method url-fetch) (uri (cran-uri "PKI" version)) (sha256 (base32 "1xhc84k4iszvfawwwzrwclfs41nvb8bmyygapxmsxjky725s7k1g")))) (properties `((upstream-name . "PKI"))) (build-system r-build-system) (native-inputs `(("openssl" ,openssl))) (propagated-inputs `(("r-base64enc" ,r-base64enc))) (home-page "http://www.rforge.net/PKI") (synopsis "Public Key Infrastucture for R Based on the X.509 Standard") (description "PKI functions such as verifying certificates, RSA encription and signing which can be used to build PKI infrastructure and perform cryptographic tasks.") (license #f))) (define-public r-rjsonio (package (name "r-rjsonio") (version "1.3-0") (source (origin (method url-fetch) (uri (cran-uri "RJSONIO" version)) (sha256 (base32 "1dwgyiy19sixhy6yclqcaaxswbmpq7digyjjxhy1qv0wfsvk94qi")))) (properties `((upstream-name . "RJSONIO"))) (build-system r-build-system) (home-page "http://cran.r-project.org/web/packages/RJSONIO") (synopsis "Serialize R objects to JSON, JavaScript Object Notation") (description "This is a package that allows conversion to and from data in Javascript object notation (JSON) format. This allows R objects to be inserted into Javascript/ECMAScript/ActionScript code and allows R programmers to read and convert JSON content to R objects. This is an alternative to rjson package. Originally, that was too slow for converting large R objects to JSON and was not extensible. rjson's performance is now similar to this package, and perhaps slightly faster in some cases. This package uses methods and is readily extensible by defining methods for different classes, vectorized operations, and C code and callbacks to R functions for deserializing JSON objects to R. The two packages intentionally share the same basic interface. This package (RJSONIO) has many additional options to allow customizing the generation and processing of JSON content. This package uses libjson rather than implementing yet another JSON parser. The aim is to support other general projects by building on their work, providing feedback and benefit from their ongoing development.") (license license:bsd-3))) (define-public r-rsconnect (package (name "r-rsconnect") (version "0.8.5") (source (origin (method url-fetch) (uri (cran-uri "rsconnect" version)) (sha256 (base32 "0y2sajcw1yngig06l7bxzcw993jbx13fl47fag9fa4f70qpnnwmq")))) (build-system r-build-system) (propagated-inputs `(("r-digest" ,r-digest) ("r-packrat" ,r-packrat) ("r-pki" ,r-pki) ("r-rcurl" ,r-rcurl) ("r-rjsonio" ,r-rjsonio) ("r-rstudioapi" ,r-rstudioapi) ("r-yaml" ,r-yaml))) (home-page "http://cran.r-project.org/web/packages/rsconnect") (synopsis "Deployment Interface for R Markdown Documents and Shiny Applications") (description "Programmatic deployment interface for 'RPubs', 'shinyapps.io', and 'RStudio Connect'. Supported content types include R Markdown documents, Shiny applications, Plumber APIs, plots, and static web content.") (license license:gpl2))) (define-public r-shinythemes (package (name "r-shinythemes") (version "1.1.1") (source (origin (method url-fetch) (uri (cran-uri "shinythemes" version)) (sha256 (base32 "0i220y051dq763idh1j5zhpb5cpv3jr11jd9akmry9aadyys5pz6")))) (build-system r-build-system) (propagated-inputs `(("r-shiny" ,r-shiny))) (home-page "http://cran.r-project.org/web/packages/shinythemes") (synopsis "Themes for Shiny") (description "Themes for use with Shiny. Includes several Bootstrap themes from , which are packaged for use with Shiny applications.") (license #f))) (define-public r-threejs (package (name "r-threejs") (version "0.3.1") (source (origin (method url-fetch) (uri (cran-uri "threejs" version)) (sha256 (base32 "1s3rdlzy7man6177ycayg6xsh6k8y1r9rdj9yzn3b93j2rs0nxbi")))) (build-system r-build-system) (propagated-inputs `(("r-base64enc" ,r-base64enc) ("r-crosstalk" ,r-crosstalk) ("r-htmlwidgets" ,r-htmlwidgets) ("r-igraph" ,r-igraph))) (home-page "https://bwlewis.github.io/rthreejs") (synopsis "Interactive 3D Scatter Plots, Networks and Globes") (description "Create interactive 3D scatter plots, network plots, and globes using the 'three.js' visualization library ().") (license license:expat))) (define-public r-shinystan (package (name "r-shinystan") (version "2.4.0") (source (origin (method url-fetch) (uri (cran-uri "shinystan" version)) (sha256 (base32 "18bdh2h6grlwfx6p00214p7cgzg7zfhbvnkd1dmxihp9wf4l80af")))) (build-system r-build-system) (propagated-inputs `(("r-bayesplot" ,r-bayesplot) ("r-colourpicker" ,r-colourpicker) ("r-dt" ,r-dt) ("r-dygraphs" ,r-dygraphs) ("r-ggplot2" ,r-ggplot2) ("r-gridextra" ,r-gridextra) ("r-gtools" ,r-gtools) ("r-markdown" ,r-markdown) ("r-reshape2" ,r-reshape2) ("r-rsconnect" ,r-rsconnect) ("r-rstan" ,r-rstan) ("r-shiny" ,r-shiny) ("r-shinyjs" ,r-shinyjs) ("r-shinythemes" ,r-shinythemes) ("r-threejs" ,r-threejs) ("r-xtable" ,r-xtable) ("r-xts" ,r-xts))) (home-page "http://mc-stan.org/") (synopsis "Interactive Visual and Numerical Diagnostics and Posterior Analysis for Bayesian Models") (description "This package provides a graphical user interface for interactive Markov chain Monte Carlo (MCMC) diagnostics and plots and tables helpful for analyzing a posterior sample. The interface is powered by the 'Shiny' web application framework from 'RStudio' and works with the output of MCMC programs written in any programming language (and has extended functionality for 'Stan' models fit using the 'rstan' and 'rstanarm' packages).") (license license:gpl3+)))