Learn R Programming

cobs (version 1.3-9)

interpSplineCon: (Cubic) Interpolation Spline from "conreg"

Description

From a "conreg" object representing a linear spline,

interpSplineCon()

produces the corresponding (cubic) spline (via package splines' interpSpline()) by interpolating at the knots, thus “smoothing the kinks”.

isIsplineCon()

determines if the spline fulfills the same convexity / concavity constraints as the underlying "conreg" object.

Usage

interpSplineCon(object, ...)
isIsplineCon(object, isp, ...)

Value

interpSplineCon()

returns the interpSpline() interpolation spline object.

isIsplineCon()

is TRUE (or FALSE), indicating if the convexity/concavity constraints are fulfilled (in knot intervals).

Arguments

object

an R object as resulting from conreg().

isp

optionally, the result of interpSplineCon(object, ...); useful if that is already available in the caller.

...

optional further arguments passed to interpSpline().

Author

Martin Maechler

See Also

conreg, interpSpline.

Examples

Run this code
cc <- conreg(cars[,"speed"], cars[,"dist"], convex=TRUE)
iS <- interpSplineCon(cc)
(isC <- isIsplineCon(cc)) # FALSE: not strictly convex
## Passing the interpolation spline --- if you have it anyway ---
## is more efficient (faster) :
stopifnot(identical(isC,
                    isIsplineCon(cc, isp = iS)))

## the interpolation spline is not quite convex:
plot(cc)
with(cars, points(dist ~ speed, col = adjustcolor(1, 1/2)))
lines(predict(iS, seq(1,28, by=1/4)),
      col = adjustcolor("forest green", 3/4), lwd=2)

Run the code above in your browser using DataLab