quantreg (version 2.0-2)

rq: Quantile Regression


Perform a quantile regression on a design matrix, x, of explanatory variables and a vector, y, of responses.


rq(x, y, tau=-1, alpha=.1, dual=TRUE, int=TRUE, tol=1e-4, ci = TRUE, 
         method="score", interpolate=TRUE, tcrit=TRUE, hs=TRUE)
rq.formula(formula, data=list(), subset, na.action, tau=-1, 
         alpha = 0.10000000000000001, dual = TRUE, 
         tol = 0.0001, ci = TRUE, method="score", interpolate = TRUE, 
         tcrit = TRUE, hs=TRUE)


vector or matrix of explanatory variables. If a matrix, each column represents a variable and each row represents an observation (or case). This should not contain column of 1s unless the argument intercept is FALSE. The number of rows of x should
response vector with as many observations as the number of rows of x.
desired quantile. If tau is missing or outside the range [0,1] then all the regression quantiles are computed and the corresponding primal and dual solutions are returned.
level of significance for the confidence intervals; default is set at 10%.
return the dual solution if TRUE (default).
flag for intercept; if TRUE (default) an intercept term is included in the regression.
tolerance parameter for rq computations.
flag for confidence interval; if TRUE (default) the confidence intervals are returned.
if method="score" (default), ci is computed using regression rank score inversion; if method="sparsity", ci is computed using sparsity function.
if TRUE (default), the smoothed confidence intervals are returned.
if tcrit=T (default), a finite sample adjustment of the critical point is performed using Student's t quantile, else the standard Gaussian quantile is used.
logical flag to use Hall-Sheather's sparsity estimator (default); otherwise Bofinger's version is used.


  • sola (p+2) by m matrix whose first row contains the 'breakpoints' tau_1,tau_2,...
  • tau_m, of the quantile function, i.e. the values in [0,1] at which the solution changes, row two contains the corresponding quantiles evaluated at the mean design point, i.e. the inner product of xbar and b(tau_i), and the last p rows of the matrix give b(tau_i). The solution b(tau_i) prevails from tau_i to tau_i+1.


  • dsol
  • h


The algorithm used is a modification of the Barrodale and Roberts algorithm for l1-regression, l1fit in S, and is described in detail in Koenker and d"Orey(1987).


trq and qrq for further details and references.


[1] Koenker, R.W. and Bassett, G.W. (1978). Regression quantiles, Econometrica, 46, 33-50.

[2] Koenker, R.W. and d'Orey (1987). Computing Regression Quantiles. Applied Statistics, 36, 383-393.

[3] Gutenbrunner, C. Jureckova, J. (1991). Regression quantile and regression rank score process in the linear model and derived statistics, Annals of Statistics, 20, 305-330.

[4] Koenker, R.W. and d'Orey (1994). Remark on Alg. AS 229: Computing Dual Regression Quantiles and Regression Rank Scores, Applied Statistics, 43, 410-414.

[5] Koenker, R.W. (1994). Confidence Intervals for Regression Quantiles, in P. Mandl and M. Huskova (eds.), Asymptotic Statistics, 349-359, Springer-Verlag, New York.


Run this code
rq(stack.x, stack.loss, .5)  #the l1 estimate for the stackloss data
rq(stack.x, stack.loss, tau=.5, ci=T, method="score")  #same as above with 
	#regression rank score inversion confidence interval
rq(stack.x, stack.loss, .25)  #the 1st quartile, 
	#note that 8 of the 21 points lie exactly 
	#on this plane in 4-space
rq(stack.x, stack.loss, -1)   #this gives all of the rq solutions
rq(y=rnorm(10), method="sparsity")	#ordinary sample quantiles
data(Patacamaya)               # an example with formula
z0.1 <- rq.formula(y ~ a+tipo, data=Patacamaya, na.action=na.omit, tau=0.1)

Run the code above in your browser using DataLab