Learn R Programming

rqPen: Penalized quantile regression

Overview

This R package provides tools for estimating a quantile regression model with a penalized objective function. Implements a variety of penalties, including group penalties.

Installation

For most up to date versions use the following code. However, be warned the github package is often in a state of testing and debugging.

devtools::install_github("bssherwood/rqpen")

The following code will install the more stable CRAN version.

install.packages("rqPen")

Example

library(rqPen)
n<- 200
p<- 30
x0<- matrix(rnorm(n*p),n,p)
x<- cbind(x0, x0^2, x0^3)[,order(rep(1:p,3))]
y<- -2+x[,1]+0.5*x[,2]-x[,3]-0.5*x[,7]+x[,8]-0.2*x[,9]+rt(n,2)
group<- rep(1:p, each=3)

# lasso estimation
# one tau
fit1 <- rq.pen(x,y)
# several values of tau
fit2 <- rq.pen(x,y,tau=c(.2,.5,.8))

# Group SCAD estimation
fit3 <- rq.group.pen(x,y,groups=group,penalty="gSCAD")

# cross validation
cv1 <- rq.pen.cv(x,y)
plot(cv1)

cv2 <- rq.pen.cv(x,y,tau=c(.2,.5,.8))
plot(cv2)

cv3 <- rq.group.pen(x,y,groups=group,penalty="gSCAD")
plot(cv3)

# BIC selection of tuning parameters
qs1 <- qic.select(fit1)
qs2 <- qic.select(fit2)
qs3 <- qic.select(fit3)

Copy Link

Version

Install

install.packages('rqPen')

Monthly Downloads

751

Version

4.1.4

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Ben Sherwood

Last Published

December 18th, 2025

Functions in rqPen (4.1.4)

rq.gq.pen

Title Quantile regression estimation and consistent variable selection across multiple quantiles
qic.select.rq.pen.seq.cv

Select tuning parameters using IC
qic

Calculate information criterion for penalized quantile regression models. Currently not exported.
qic.select

Select tuning parameters using IC
rq.group.pen

Fits quantile regression models using a group penalized objective function.
rq.group.pen.cv

Performs cross validation for a group penalty.
qic.select.rq.pen.seq

Select tuning parameters using IC
rq.group.fit

Estimates a quantile regression model with a group penalized objective function.
rq.lasso.fit

Estimates a quantile regression model with a lasso penalized quanitle loss function.
rqPen

rqPen: A package for estimating quantile regression models using penalized objective functions.
rq.nc.fit

Non-convex penalized quantile regression
rq.pen.cv

Does k-folds cross validation for rq.pen. If multiple values of a are specified then does a grid based search for best value of \(\lambda\) and a.
rq.pen

Fit a quantile regression model using a penalized quantile loss function.
bytau.plot

Plot of how coefficients change with tau
bytau.plot.rq.pen.seq

Plot of how coefficients change with tau.
coef.rq.pen.seq

Returns coefficients of a rq.pen.seq object
bytau.plot.rq.pen.seq.cv

Plot of coefficients varying by quantiles for rq.pen.seq.cv object
coef.rq.pen.seq.cv

Returns coefficients from a rq.pen.seq.cv object.
coef.cv.rq.group.pen

Coefficients from a cv.rq.group.pen object
beta_plots

Plots of coefficients by lambda for cv.rq.group.pen and cv.rq.pen
cv_plots

Plots of cross validation results as a function of lambda.
coef.cv.rq.pen

Returns Coefficients of a cv.rq.pen object
cv.rq.group.pen

Old cross validation function for group penalty
print.rq.pen.seq

Print a rq.pen.seq object
plot.rq.pen.seq

Plot of coefficients of rq.pen.seq object as a function of lambda
predict.rq.pen.seq

Predictions from rq.pen.seq object
plot.rq.pen.seq.cv

Plots cross validation results from a rq.pen.seq.cv object
print.qic.select

Print a qic.select object
predict.qic.select

Predictions from a qic.select object
predict.rq.pen.seq.cv

Predictions from rq.pen.seq.cv object
rq.gq.pen.cv

Title Cross validation for consistent variable selection across multiple quantiles.
print.rq.pen.seq.cv

Prints a rq.pen.seq.cv object
predict.cv.rq.pen

Prediction for a cv.rq.pen object
predict.rq.pen

Prediction for a rq.pen object
plot.cv.rq.group.pen

Cross validation plot for cv.rq.group.pen object