‘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. From the version 2.3, the degrees 0 and greater than 5 are also available. It also 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).
‘BsplineQuantReg’ >= 0.2.2 (Basic mode) or >= 0.2.6 (All features)
| GUI Version | Core Version | Mode | Features |
|---|---|---|---|
| 0.2.3 | >= 0.2.2 | Basic | Standard regression, constraints |
| 0.2.3 | 0.2.6 | Advanced | All features incl. multiplicity |
Select Degree (1 to 4 is standard for constraints, but possible 0 to any)
Knots:
> - Adjust Auto knots count (placed as quantiles of knots)
> - Click Add knot to enter manual knot placement mode, then click on the plot. The two lists of knots auto and manual are almost independant and joined.
> - Click Clear knots to clear manual knots
> - Click on a knot to select it, click on “remove knot” to remove it.
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
go to the basis tab
select or un-select “consider multiplicity”
Chose a derivative level
Check the knots and their multiplicities
click “update basis” to view the Bspline Basis.
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 any degree, shape constraints for Degrees 0 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)