Revision 616fe292ea4c66f8db35d04c9fa045fea56eea02 authored by Roger Koenker on 04 September 2016, 13:02:15 UTC, committed by cran-robot on 04 September 2016, 13:02:15 UTC
1 parent db6345a
hinged.R
# A Demo of simple bivariate rqss fitting of a hinge function
require(quantreg)
## Make sure the demo does not ``die'' when rgl is not available:
do.rgl <- interactive() && require(rgl)
#generate the data
n <- 1000
x <- runif(n)
y <- runif(n)
z <- -abs(x-y)
### Make an initial quite rough fit of the data
fit <- rqss(z ~ qss(cbind(x,y),lambda = .005))
print(summary(fit)$penalty)
if(do.rgl) {
plot(fit, render = "rgl")
cat("Now orient the plot as desired:",
"Resize window,",
"mouse button 1 to change viewpoint,",
"mouse button 2 to zoom,",
"and hit return when ready",sep="\n")
scan()
rgl.bg(color="8")
cat("To try another value of lambda:",
"Type a positive number",
"To quit hit return", sep="\n")
repeat{
cat("lambda: ")
lam <- scan(what = double(1))
if(length(lam)>0){
fit <- rqss(z ~ qss(cbind(x,y),lambda = lam))
rgl.clear()
plot(fit, render = "rgl")
} else
break
}
} else {
if(!interactive()) pdf(file = "hinge-demo.pdf")
plot(fit)
}

Computing file changes ...