[PATCH] gnu: Add r-gtsummary and dependencies

  • Open
  • quality assurance status badge
Details
3 participants
  • Sebastian Gibb
  • Ricardo Wurmus
  • Simon Tournier
Owner
unassigned
Submitted by
Sebastian Gibb
Severity
normal
S
S
Sebastian Gibb wrote on 16 Nov 2023 15:07
(address . guix-patches@gnu.org)(name . Sebastian Gibb)(address . mail@sebastiangibb.de)
9610e6bc1c5bd70ed3e66b491603462f98b87cdf.1700143657.git.mail@sebastiangibb.de
Change-Id: I8925668063ca53b91bec49788fbed3df5eb2c2fc
---
gnu/packages/cran.scm | 211 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 211 insertions(+)

Toggle diff (240 lines)
diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index 221a81612c..711308d36c 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -1061,6 +1061,159 @@ (define-public r-googlevis
the output locally.")
(license license:gpl2+)))
+(define-public r-reactr
+ (package
+ (name "r-reactr")
+ (version "0.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "reactR" version))
+ (sha256
+ (base32 "14pi2wc25qa9q0hp8jby07798l53phyj1zifj46fg2pjq8vkz7p7"))))
+ (properties `((upstream-name . "reactR")))
+ (build-system r-build-system)
+ (propagated-inputs (list r-htmltools))
+ (native-inputs (list esbuild r-knitr))
+ (home-page "https://github.com/react-R/reactR")
+ (synopsis "React Helpers")
+ (description
+ "Make it easy to use React in R with htmlwidget scaffolds, helper dependency
+functions, an embedded Babel transpiler', and examples.")
+ (license license:expat)))
+
+(define-public r-reactable
+ (package
+ (name "r-reactable")
+ (version "0.4.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "reactable" version))
+ (sha256
+ (base32 "1wkamzyyl3k3772n5g4rjklkkhdb07jiax064r9alnnq5nzfdaml"))))
+ (properties `((upstream-name . "reactable")))
+ (build-system r-build-system)
+ (propagated-inputs (list r-digest r-htmltools r-htmlwidgets r-jsonlite
+ r-reactr))
+ (home-page "https://glin.github.io/reactable/")
+ (synopsis "Interactive Data Tables for R")
+ (description
+ "Interactive data tables for R, based on the React Table @code{JavaScript}
+library. Provides an HTML widget that can be used in R Markdown or Quarto
+documents, Shiny applications, or viewed from an R console.")
+ (license license:expat)))
+
+(define-public r-juicyjuice
+ (package
+ (name "r-juicyjuice")
+ (version "0.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "juicyjuice" version))
+ (sha256
+ (base32 "0ap1nsyihlagc1yqvwr2x9s16kzb3c8azfi50mzv95275a5l3xb4"))))
+ (properties `((upstream-name . "juicyjuice")))
+ (build-system r-build-system)
+ (propagated-inputs (list r-v8))
+ (home-page "https://github.com/rich-iannone/juicyjuice")
+ (synopsis "Inline CSS Properties into HTML Tags Using 'juice'")
+ (description
+ "There are occasions where you need a piece of HTML with integrated styles. A
+prime example of this is HTML email. This transformation involves moving the
+CSS and associated formatting instructions from the style block in the head of
+your document into the body of the HTML. Many prominent email clients require
+integrated styles in HTML email; otherwise a received HTML email will be
+displayed without any styling. This package will quickly and precisely perform
+these CSS transformations when given HTML text and it does so by using the
+@code{JavaScript} juice library.")
+ (license license:expat)))
+
+(define-public r-gt
+ (package
+ (name "r-gt")
+ (version "0.10.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "gt" version))
+ (sha256
+ (base32 "0gkfqy7n0pv1cz4vrshl2w07c0ykipi5rvp46nyvlcd17qq5z2kh"))))
+ (properties `((upstream-name . "gt")))
+ (build-system r-build-system)
+ (propagated-inputs (list r-base64enc
+ r-bigd
+ r-bitops
+ r-cli
+ r-commonmark
+ r-dplyr
+ r-fs
+ r-glue
+ r-htmltools
+ r-htmlwidgets
+ r-juicyjuice
+ r-magrittr
+ r-markdown
+ r-reactable
+ r-rlang
+ r-sass
+ r-scales
+ r-tibble
+ r-tidyselect
+ r-xml2))
+ (home-page "https://gt.rstudio.com")
+ (synopsis "Easily Create Presentation-Ready Display Tables")
+ (description
+ "Build display tables from tabular data with an easy-to-use set of functions.
+With its progressive approach, we can construct display tables with a cohesive
+set of table parts. Table values can be formatted using any of the included
+formatting functions. Footnotes and cell styles can be precisely added through
+a location targeting system. The way in which gt handles things for you means
+that you don't often have to worry about the fine details.")
+ (license license:expat)))
+
+(define-public r-gtsummary
+ (package
+ (name "r-gtsummary")
+ (version "1.7.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "gtsummary" version))
+ (sha256
+ (base32 "02jbsdv8wwncnrmqmf12pz3ld759s8ll5dl5rrxv8ad6qgqjbhnx"))))
+ (properties `((upstream-name . "gtsummary")))
+ (build-system r-build-system)
+ (propagated-inputs (list r-broom
+ r-broom-helpers
+ r-cli
+ r-dplyr
+ r-forcats
+ r-glue
+ r-gt
+ r-knitr
+ r-lifecycle
+ r-purrr
+ r-rlang
+ r-stringr
+ r-tibble
+ r-tidyr
+ r-vctrs))
+ (native-inputs (list r-knitr))
+ (home-page "https://github.com/ddsjoberg/gtsummary")
+ (synopsis "Presentation-Ready Data Summary and Analytic Result Tables")
+ (description
+ "This package creates presentation-ready tables summarizing data sets, regression
+models, and more. The code to create the tables is concise and highly
+customizable. Data frames can be summarized with any function, e.g. mean(),
+median(), even user-written functions. Regression models are summarized and
+include the reference rows for categorical variables. Common regression models,
+such as logistic regression and Cox proportional hazards regression, are
+automatically identified and the tables are pre-filled with appropriate column
+headers.")
+ (license license:expat)))
+
(define-public r-gson
(package
(name "r-gson")
@@ -1973,6 +2126,32 @@ (define-public r-clipr
the system clipboards.")
(license license:gpl3)))
+(define-public r-bigd
+ (package
+ (name "r-bigd")
+ (version "0.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "bigD" version))
+ (sha256
+ (base32 "0pzzqqazn1nv2b613vzdyhxvr454lyqq8235jydia6r3k86fpadw"))))
+ (properties `((upstream-name . "bigD")))
+ (build-system r-build-system)
+ (home-page "https://github.com/rich-iannone/bigD")
+ (synopsis "Flexibly Format Dates and Times to a Given Locale")
+ (description
+ "Format dates and times flexibly and to whichever locales make sense. Parses
+dates, times, and date-times in various formats (including string-based ISO 8601
+constructions). The formatting syntax gives the user many options for
+formatting the date and time output in a precise manner. Time zones in the
+input can be expressed in multiple ways and there are many options for
+formatting time zones in the output as well. Several of the provided helper
+functions allow for automatic generation of locale-aware formatting patterns
+based on date/time skeleton formats and standardized date/time formats with
+varying specificity.")
+ (license license:expat)))
+
(define-public r-clock
(package
(name "r-clock")
@@ -8512,6 +8691,38 @@ (define-public r-broom
provides a one-row summary of model-level statistics.")
(license license:expat)))
+(define-public r-broom-helpers
+ (package
+ (name "r-broom-helpers")
+ (version "1.14.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (cran-uri "broom.helpers" version))
+ (sha256
+ (base32 "14vaqxv12yrvqllp8552nx68wk2qfjcy1iy7bajkspgdpwsjzhfd"))))
+ (properties `((upstream-name . "broom.helpers")))
+ (build-system r-build-system)
+ (propagated-inputs (list r-broom
+ r-cli
+ r-dplyr
+ r-labelled
+ r-lifecycle
+ r-purrr
+ r-rlang
+ r-stringr
+ r-tibble
+ r-tidyr))
+ (native-inputs (list r-knitr))
+ (home-page "https://larmarange.github.io/broom.helpers/")
+ (synopsis "Helpers for Model Coefficients Tibbles")
+ (description
+ "This package provides suite of functions to work with regression model
+broom::tidy() tibbles. The suite includes functions to group regression model
+terms by variable, insert reference and header rows for categorical variables,
+add variable labels, and more.")
+ (license license:gpl3+)))
+
(define-public r-recipes
(package
(name "r-recipes")

base-commit: 23627b1706af25a0a30b96b9169a3495279aff1b
--
2.39.2
S
S
Simon Tournier wrote on 12 Jan 09:51 +0100
87cyu7ylx5.fsf@gmail.com
Hi,

(Sorry for the late reply.)

On Thu, 16 Nov 2023 at 15:07, Sebastian Gibb via Guix-patches via <guix-patches@gnu.org> wrote:
Toggle quote (5 lines)
> Change-Id: I8925668063ca53b91bec49788fbed3df5eb2c2fc
> ---
> gnu/packages/cran.scm | 211 ++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 211 insertions(+)

Thanks for your contributions. From a first look, they look good to me
but it would help if you could:

1. Split all the additions to atomic commits – one package per commit:

+(define-public r-reactr
+(define-public r-reactable
+(define-public r-juicyjuice
+(define-public r-gt
+(define-public r-gtsummary
+(define-public r-bigd
+(define-public r-broom-helpers

Hence 7 commits; :-)

2. Write compliant commit messages, as:

Toggle snippet (5 lines)
gnu: Add r-reactr.

* gnu/packages/cran.scm (r-reactr): New variable.

Could you send v2 (reroll-count=2)?

Cheers,
simon
R
R
Ricardo Wurmus wrote on 30 Jan 17:16 +0100
[PATCH] gnu: Add r-gtsummary and dependencies
(address . 67229@debbugs.gnu.org)
878r46hjtt.fsf@elephly.net
Hi,

the r-reactr and r-reactable packages contain a lot of minified
JavaScript, which is why we don’t have them in the default Guix channel.
We do have these packages in the guix-science channel[1].

You could add r-gtsummary there until someone makes the effort to find
matching source code for all the bundled minified JavaScript in those
packages.


--
Ricardo
?