The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Getting Started with crs

This vignette is meant to be the minimal package-side introduction to crs. It focuses on one clean first run and a simple reminder of where spline methods fit relative to the rest of the ecosystem.

Longer conceptual and tuning material is better carried by the gallery site:

A small spline regression example

library(crs)
#> crs 0.15-41: vignette("crs_getting_started", package = "crs")
set.seed(42)
n <- 250
x1 <- runif(n)
x2 <- runif(n)
y <- sin(2 * pi * x1) + x2 + rnorm(n, sd = 0.2)
dat <- data.frame(y, x1, x2)

fit <- crs(y ~ x1 + x2, data = dat)
summary(fit)
#> Call:
#> crs.formula(formula = y ~ x1 + x2, data = dat)
#> 
#> Indicator Bases/B-spline Bases Regression Spline
#> 
#> There are 2 continuous predictors
#> Spline degree/number of segments for x1: 6/1
#> Spline degree/number of segments for x2: 1/1
#> Model complexity proxy: degree-knots
#> Knot type: quantiles
#> Basis type: additive
#> Pruning of final model: FALSE
#> Training observations: 250
#> Rank of model frame: 8
#> Trace of smoother matrix: 8
#> 
#> Residual standard error: 0.194 on 242 degrees of freedom
#> Multiple R-squared: 0.9428,   Adjusted R-squared: 0.9411
#> F-statistic: 569.6 on 7 and 242 DF, p-value: < 2.2e-16
#> 
#> Cross-validation score: 0.039118
#> Number of multistarts: 5
#> Estimation time: 0.5 seconds

A simple prediction plot

plot(x1, y, cex = 0.35, col = "grey")

grid_x1 <- seq(min(x1), max(x1), length.out = 200)
newdata <- data.frame(
  x1 = grid_x1,
  x2 = mean(x2)
)
pred <- predict(fit, newdata = newdata)

lines(grid_x1, pred, col = 2, lwd = 2)

When to use crs

Use crs when regression splines, derivative structure, or shape restrictions are the natural tool. For kernel-based workflows, see the np package instead.

Two common next stops after this first vignette are:

Where to go next

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.