library(hdrm)

# library(hdrm)
# ridge(y ~ x1 + x2:x3, dat)  # as in lm()
# ridge(X, y)                 # as in glmnet()

# plot(fit)
# coef(fit)
# predict(fit)
# summary(fit)
# confint(fit)

Fig1.4(loocv=FALSE)
Fig1.4()

Fig1.5()

Tab <- Tab1.1()
ind <- match(c('SO2', 'NOX', 'HC'), rownames(Tab))
Tab[ind,] |> knitr::kable('latex', booktabs=TRUE, digits=2)

Tab[-ind,] |> knitr::kable('latex', booktabs=TRUE, digits=2)

# Demo
attach_data('pollution')
X <- std(X)
fit <- ridge(X, y)
plot(fit)
plot(fit, xaxis='df')
plot(fit, xaxis='both')
summary(fit, which=which.min(fit$loocv))
summary(lm(y~X))

# Other
predict(fit, X, lam=1)
confint(fit, lam=1)
B <- cbind(coef(fit, lam=.1), confint(fit, lam=.1))
ci_plot(B[-1,], sort=FALSE); abline(v=0, col='gray')
ci_plot(B[-1,]*attr(X, 'scale'), sort=FALSE); abline(v=0, col='gray')

