A user-friendly interactive Shiny interface for the 'BsplineQuantReg' package, enabling quantile regression using B-splines with shape constraints, based on the method described in Abbes (2025). Almost all parameters of the main function 'quantile_spline()' can be tuned. Features include interactive knot placement, per-region constraint specification, 'CSV' data import, direct demo access, reproducible R code generation, and solver selection. The version 0.2.2 handles knots multiplicity, Bspline basis visualisation, mean-square regression, pp form visualisation under human readable form, in local or canonical bases, The GUI provides two modes, basic (compatible with 'BsplineQuantReg' >= 0.2.2) and advanced (requires 'BsplineQuantReg' >= 0.2.5 for stable multiplicity features). This GUI an improved version of the 'Python Tk' version of 'BsplineQuantRegPy'.
'BsplineQuantRegGui' is an interactive Shiny interface for the 'BsplineQuantReg' package, providing a user-friendly way to perform quantile regression using B-splines with shape constraints.
The package is available on CRAN.
The underlying 'BsplineQuantReg' package provides the core regression methods for B-spline quantile regression with Karlin-Studden polynomial sign characterization, including degrees 1 to 4. It provides a small set of robust functions in pure R for polynomial calculation, piecewise polynomial and B-spline manipulation, including differentiation, B-spline coefficients calculations and transformation to PP-form, evaluation of splines and pp polynomial as functions, and coefficients display in human readable form.
This GUI application makes it easy to:
install.packages("BsplineQuantRegGui")
install.packages("remotes")
remotes::install_github("alexandreabbes/BsplineQuantRegGui")
library(BsplineQuantRegGui)
# Launch the application
runGui()
The GUI will open in your default web browser.
A Docker image is available for easy deployment:
docker pull ghcr.io/alexandreabbes/bsplinequantreggui:latest
# Launch default version (advanced)
docker run -p 3838:3838 ghcr.io/alexandreabbes/bsplinequantreggui:latest
# Launch basic version
docker run -e APP_VERSION="basic" -p 3838:3838 ghcr.io/alexandreabbes/bsplinequantreggui:latest
#APP_VERSION : either 1 || "basic"" or 2 || "advanced"
Then open the local adress "127.0.0.1:3838" in your browser (remove the quotes).
| GUI Version | Core Version | Mode | Features |
|---|---|---|---|
| v0.2.2 | >= 0.2.2 | Basic | Standard regression, constraints |
| v0.2.2 | >= 0.2.5 | Advanced | All features incl. multiplicity |
This package depends on:
| Package | Purpose |
|---|---|
| 'BsplineQuantReg' (>= 0.2.5) | Core regression functions |
| 'shiny' | Interactive web framework |
| 'plotly' | Interactive graphics |
| 'DT' | Interactive tables |
| 'shinythemes' | UI themes |
| 'shinyjs' | Enhanced JavaScript capabilities |
| 'colourpicker' | Color selection widget |
| 'ECOSolveR' | A good solver that causes no problem to compile |
-select or un-select "consider multiplicity"" -click on a knot to select it -adjust multiplicity with + or -. Multiplicity of a knot is limited to degree+1
citation("BsplineQuantRegGui")
If you use this package in your research, please cite:
@Article{Abbes2025, author = {Alexandre Abbes}, title = {Quantile Regression with Cubic Polynomial Splines under Shape Constraints with Applications}, year = {2025}, doi = {10.5281/zenodo.17427913} }
@Manual{Abbes2026R, author = {Alexandre Abbes}, title = {BsplineQuantReg: Quantile Regression with B-Splines of Degrees 1 to 4}, year = {2026}, note = {R package version 0.2.0}, url = {https://cran.r-project.org/package=BsplineQuantReg} }
GPL-3 (c) Alexandre Abbes (2026)