Raw File
0_pt-ex.R
suppressMessages(library(cobs))
options(digits = 6, warn = 2) ## << all warnings to errors!

## When 'R CMD check'ing, we may want to see exact package information:
sessionInfo() # plus the details of the major dependent packages:
packageDescription("SparseM")
packageDescription("quantreg")
packageDescription("cobs")
##

set.seed(101)
x <- seq(-2,2,length = 100)
y <- x^2+0.5*rnorm(100)
## Constraints -- choosing ones that are true for  f(x) = x^2
PW  <- rbind(
             c(0, -3,9), # f(-3) = 9
             c(0,  3,9), # f(3 ) = 9
             c(2,  0,0)) # f'(0) = 0

mod <- cobs (x,y,constraint = "convex", pointwise = PW)
mod

stopifnot(all.equal(predict(mod, c(-3, 3))[,"fit"], c(9,9), tol = 1e-12))

## derivative 0 at 0 -- we miss a 'deriv = 1' argument [-> see ../TODO]
eps <- 1e-6
stopifnot(abs(diff(predict(mod, c(-eps, eps))[,"fit"])/(2*eps)) < .001 * eps)

back to top