Package 'QTE.RD'

Title: Quantile Treatment Effects under the Regression Discontinuity Design
Description: Provides comprehensive methods for testing, estimating, and conducting uniform inference on quantile treatment effects (QTEs) in sharp regression discontinuity (RD) designs, incorporating covariates and implementing robust bias correction methods of Qu, Yoon, Perron (2024) <doi:10.1162/rest_a_01168>.
Authors: Zhongjun Qu [aut, cph], Jungmo Yoon [aut, cre, cph]
Maintainer: Jungmo Yoon <[email protected]>
License: GPL (>= 3)
Version: 1.2.0
Built: 2026-05-18 06:29:25 UTC
Source: https://github.com/jungmoyoon/qte.rd

Help Index


QTE.RD: Quantile Treatment Effects under the Regression Discontinuity Design

Description

Provides comprehensive methods for testing, estimating, and conducting uniform inference on quantile treatment effects (QTEs) in sharp regression discontinuity (RD) designs, incorporating covariates and implementing robust bias correction methods of Qu, Yoon, Perron (2024) doi:10.1162/rest_a_01168.

Details

The package QTE.RD includes four main functions:

  • rd.qte estimates QTEs and provides uniform confidence bands, with or without covariates, and with or without robust bias correction.

  • rdq.test conducts tests for three hypotheses, related to the significance of treatment effects, homogeneous treatment effects, and uniformly positive or negative treatment effects.

  • rdq.bandwidth implements two bandwidth selection rules: the cross-validation bandwidth and the MSE optimal bandwidth.

  • plot.qte generates figures summarizing the treatment effects along with their confidence bands.

Author(s)

References

Zhongjun Qu, Jungmo Yoon, Pierre Perron (2024), "Inference on Conditional Quantile Processes in Partially Linear Models with Applications to the Impact of Unemployment Benefits," The Review of Economics and Statistics; doi:10.1162/rest_a_01168

Zhongjun Qu and Jungmo Yoon (2019), "Uniform Inference on Quantile Effects under Sharp Regression Discontinuity Designs," Journal of Business and Economic Statistics, 37(4), 625–647; doi:10.1080/07350015.2017.1407323


Student Achievement Data

Description

The student achievement data used in Duflo, Dupas, and Kremer (2011) is available from the Harvard Dataverse (see Source below). The original dataset contains 7,022 observations and 106 variables. We extracted 5,795 observations with non-missing values for the outcome variable totalscore and retained 10 key variables.

Usage

data(ddk_2011)

Format

A data frame with 5795 rows and 10 columns.

schoolid

ID of primary school.

tracking

School sampled for tracking.

percentile

Student's percentile in initial distribution.

totalscore

Total endline score.

etpteacher

Student assigned to contract teacher.

lowstream

Student assigned to lower-ability section (if tracking school).

highstream

Student assigned to higher-ability section (if tracking school).

girl

Sex of student: female.

agetest

Age of student at time of test.

ts_std

Standardized total endline score.

Source

doi:10.7910/DVN/LWFH9U

References

Esther Duflo, Pascaline Dupas, and Michael Kremer (2011) “Peer Effects, Teacher Incentives, and the Impact of Tracking: Evidence from a Randomized Evaluation in Kenya,” American Economic Review, 1739-1774.


QTE plots

Description

plot.qte generates plots summarizing the QTE estimates and their uniform confidence bands, helping users visualize the results. It also makes plots for conditional quantile processes for each side of the cutoff.

Usage

## S3 method for class 'qte'
plot(x, ptype = 1, ytext = NULL, mtext = NULL, subtext = NULL, ...)

Arguments

x

an object of class qte or summary.qte produce by rd.qte.

ptype

either 1 or 2. Set ptype=1 for the QTE plots, and ptype=2 for the conditional quantile plots. The default value is 1.

ytext

the y-axis label.

mtext

the title of the plot.

subtext

the subtitles (used for the conditional quantile plots only).

...

optional arguments to plot

Value

plot(s) of the QTE estimates and uniform confidence bands.

Examples

# Without covariate
n = 500
x = runif(n,min=-4,max=4)
d = (x > 0)
y = x + 0.3*(x^2) - 0.1*(x^3) + 1.5*d + rnorm(n)
tlevel = seq(0.1,0.9,by=0.1)
A <- rd.qte(y=y,x=x,d=d,x0=0,z0=NULL,tau=tlevel,bdw=2,bias=1)
plot(A)

y.text = "test scores"
m.text = "QTE and Uniform band"
plot(A,ytext=y.text,mtext=m.text)

A2 <- summary(A,alpha=0.1)
plot(A2)

z = sample(c(0,1),n,replace=TRUE)
y = x + 0.3*(x^2) - 0.1*(x^3) + 1.5*d + d*z + rnorm(n)
A <- rd.qte(y=y,x=cbind(x,z),d=d,x0=0,z0=c(0,1),tau=tlevel,bdw=2,bias=1)
A2 <- summary(A,alpha=0.1)

y.text = "test scores"
m.text = c("D=0","D=1")
plot(A2,ytext=y.text,mtext=m.text)

# conditional quantile plots
n = 500
x = runif(n,min=-4,max=4)
d = (x > 0)
y = x + 0.3*(x^2) - 0.1*(x^3) + 1.5*d + rnorm(n)
tlevel = seq(0.1,0.9,by=0.1)
A <- rd.qte(y=y,x=x,d=d,x0=0,z0=NULL,tau=tlevel,bdw=2,bias=1)
A2 <- summary(A,alpha=0.1)

y.text = "test scores"
m.text = "Conditional quantile functions"
sub.text = c("D=0 group","D=1 group")
plot(A2,ptype=2,ytext=y.text,mtext=m.text,subtext=sub.text)

QTE and its uniform confidence band.

Description

rd.qte is the main function of the QTE.RD package. It estimates QTE with/without covariates. If bias=1, it corrects the bias in QTE estimates and obtains the robust confidence band and if bias=0, no bias correction is implemented.

Usage

rd.qte(y, x, d, x0, z0=NULL, tau, bdw, bias)

Arguments

y

a numeric vector, the outcome variable.

x

a vector (or a matrix) of covariates. When no covariates are included, xx is simply a vector of the running variable. When covariates are present, xx should be a matrix where the first column contains the running variable and the remaining columns contain the covariates.

d

a numeric vector, the treatment status.

x0

the cutoff point.

z0

the value of the covariates at which to evaluate the effects. For example, if a female dummy z is included, z0 = 1 may indicate the female subgroup.

tau

a vector of quantiles of interest.

bdw

the bandwidth value(s). If 'bdw' is a scalar, it is interpreted as the bandwidth for the median. See the function rdq.bandwidth for how to select this bandwidth. The bandwidths for the rest of the quantiles are computed automatically using the formula of Yu and Jones (1998). If it is a vector with the same dimension as 'tau', the function will use these values for the respective quantiles accordingly.

bias

either 0 or 1. If bias=1, the QTE estimate is bias corrected and the robust confidence band in Qu, Yoon, and Perron (2024) is produced. If bias=0, no bias correction is implemented.

Value

A list with elements:

qte

QTE estimates.

uband

uniform confidence band for QTE. If bias=1, the band is robust capturing the effect of the bias correction. If bias=0, no bias correction is implemented.

sigma

standard errors for each quantile level. If bias=1, its value captures the effect of the bias correction. If bias=0, no bias correction is implemented.

qp.est

conditional quantile estimates on the right side of x0x_{0} (or for the D=1D=1 group).

qm.est

conditional quantile estimates on the left side of x0x_{0} (or for the D=0D=0 group).

References

Zhongjun Qu, Jungmo Yoon, Pierre Perron (2024), "Inference on Conditional Quantile Processes in Partially Linear Models with Applications to the Impact of Unemployment Benefits," The Review of Economics and Statistics; doi:10.1162/rest_a_01168

Zhongjun Qu and Jungmo Yoon (2019), "Uniform Inference on Quantile Effects under Sharp Regression Discontinuity Designs," Journal of Business and Economic Statistics, 37(4), 625–647; doi:10.1080/07350015.2017.1407323

Keming Yu and M. C. Jones (1998), “Local Linear Quantile Regression,” Journal of the American Statistical Association, 93(441), 228–237; doi:10.2307/2669619

Examples

# Without covariate
n <- 500
x <- runif(n,min=-4,max=4)
d <- (x > 0)
y <- x + 0.3*(x^2) - 0.1*(x^3) + 1.5*d + rnorm(n)
tlevel <- seq(0.1,0.9,by=0.1)
A <- rd.qte(y=y,x=x,d=d,x0=0,z0=NULL,tau=tlevel,bdw=2,bias=1)

# (continued) With covariates
z <- sample(c(0,1),n,replace=TRUE)
y <- x + 0.3*(x^2) - 0.1*(x^3) + 1.5*d + d*z + rnorm(n)
A <- rd.qte(y=y,x=cbind(x,z),d=d,x0=0,z0=c(0,1),tau=tlevel,bdw=2,bias=1)

Estimate the QTE under the RDD

Description

rdq estimates QTE under the RDD with or without covariates. This function is used by rd.qte to generate QTE estimates.

Usage

rdq(y, x, d, x0, z0 = NULL, tau, h.tau, cov)

Arguments

y

a numeric vector, the outcome variable.

x

a vector (or a matrix) of covariates, the first column is the running variable.

d

a numeric vector, the treatment status.

x0

the cutoff point.

z0

the value of the covariates at which to evaluate the effects. For example, if a female dummy is included, z0 = 1 may indicate the female subgroup.

tau

a vector of quantiles of interest.

h.tau

the bandwidth values (specified for each quantile level).

cov

either 0 or 1. Set cov=1 if covariates are present in the model; otherwise set cov=0.

Value

A list with elements:

qte

QTE estimates.

qp.est

conditional quantile estimates on the right side of x0x_{0} (or for the D=1 group).

qm.est

conditional quantile estimates on the left side of x0x_{0} (or for the D=0 group).

bcoe.p

quantile regression coefficients on the right side of x0x_{0}.

bcoe.m

quantile regression coefficients on the left side of x0x_{0}.

Examples

# Without covariate
n = 500
x = runif(n,min=-4,max=4)
d = (x > 0)
y = x + 0.3*(x^2) - 0.1*(x^3) + 1.5*d + rnorm(n)
tlevel = seq(0.1,0.9,by=0.1)
hh = rep(2,length(tlevel))
rdq(y=y,x=x,d=d,x0=0,z0=NULL,tau=tlevel,h.tau=hh,cov=0)

# (continued) With covariates
z = sample(c(0,1),n,replace=TRUE)
y = x + 0.3*(x^2) - 0.1*(x^3) + 1.5*d + d*z + rnorm(n)
rdq(y=y,x=cbind(x,z),d=d,x0=0,z0=c(0,1),tau=tlevel,h.tau=hh,cov=1)

Uniform confidence bands for QTE

Description

rdq.band produces uniform confidence bands for QTEs with and without bias correction. This function is used by rd.qte to generate uniform bands.

Usage

rdq.band(y, x, d, x0, z0 = NULL, tau, bdw, alpha = 0.1)

Arguments

y

a numeric vector, the outcome variable.

x

a vector (or a matrix) of covariates, When no covariates are included, xx is simply a vector of the running variable and z0z0 can be left unspecified. When covariates are included, xx should be a matrix with the running variable in the first column and the covariates in the remaining columns.

d

a numeric vector, the treatment status.

x0

the cutoff point.

z0

the value of the covariates at which to evaluate the effects. For example, if a female dummy is included, z0 = 1 may indicate the female subgroup.

tau

a vector of quantiles of interest.

bdw

the bandwidth value(s). If bdw is a scalar, it is interpreted as the bandwidth for the median. The bandwidths for the rest of the quantiles are computed automatically using the formula in Yu and Jones (1998). If it is a vector with the same dimension as 'tau“, the function will use these values for the respective quantiles accordingly.

alpha

a numeric value between 0 and 1 specifying the significance level. For example, setting alpha = 0.1 yields a 90% uniform confidence band. Multiple significance levels can be specified, e.g., alpha = c(0.1, 0.05).

Value

qte

QTE estimates without bias correction.

qte.cor

bias corrected QTE estimates.

uband

uniform confidence band for QTE without bias correction.

uband.robust

uniform confidence band for QTE with robust bias correction.

sig

standard errors for each quantile level for estimates without bias correction.

sig.r

standard errors for each quantile level for estimates with robust bias correction.

uband.p

uniform confidence band for the conditional quantile estimates on the right side of the cutoff, without bias correction.

uband.robust.p

uniform confidence band for the conditional quantile estimates on the right side of the cutoff, robust to the bias correction.

uband.m

uniform confidence band for the conditional quantile estimates on the left side of the cutoff, without bias correction.

uband.robust.m

uniform confidence band for the conditional quantile estimates on the left side of the cutoff, robust to the bias correction.

References

Zhongjun Qu, Jungmo Yoon, Pierre Perron (2024), "Inference on Conditional Quantile Processes in Partially Linear Models with Applications to the Impact of Unemployment Benefits," The Review of Economics and Statistics; doi:10.1162/rest_a_01168

Zhongjun Qu and Jungmo Yoon (2019), "Uniform Inference on Quantile Effects under Sharp Regression Discontinuity Designs," Journal of Business and Economic Statistics, 37(4), 625–647; doi:10.1080/07350015.2017.1407323

Keming Yu and M. C. Jones (1998), “Local Linear Quantile Regression,” Journal of the American Statistical Association, 93(441), 228–237; doi:10.2307/2669619

See Also

rd.qte

Examples

# Without covariate
n = 500
x = runif(n,min=-4,max=4)
d = (x > 0)
y = x + 0.3*(x^2) - 0.1*(x^3) + 1.5*d + rnorm(n)
tlevel = seq(0.1,0.9,by=0.1)
D = rdq.band(y=y,x=x,d=d,x0=0,z0=NULL,tau=tlevel,bdw=2,alpha=0.1)

# (continued) With covariates
z = sample(c(0,1),n,replace=TRUE)
y = x + 0.3*(x^2) - 0.1*(x^3) + 1.5*d + d*z + rnorm(n)
D = rdq.band(y=y,x=cbind(x,z),d=d,x0=0,z0=c(0,1),tau=tlevel,bdw=2,alpha=0.1)

Bandwidth estimation

Description

rdq.bandwidth implements two bandwidth selection rules and obtains the cross-validation (CV) bandwidth and the MSE optimal bandwidth.

Usage

rdq.bandwidth(y, x, d, x0, z0=NULL, cv, val, hp=NULL, pm.each=0, bdy=1, p.order=1, xl=0.5)

Arguments

y

a numeric vector, the outcome variable.

x

a vector (or a matrix) of covariates, the first column is the running variable.

d

a numeric vector, the treatment status.

x0

the cutoff point.

z0

the value of the covariates at which to evaluate the effects.

cv

either 0 or 1. When cv=1, both the CV and MSE optimal bandwidths are produced. When cv=0, the MSE optimal bandwidth is produced.

val

a set of candidate values for the CV bandwidth.

hp

a pilot bandwidth to estimate nuisance parameters for the MSE optimal bandwidth. It will be used only if cv=0. If cv=1, the CV bandwidth will be used as the pilot bandwidth to compute the MSE optimal bandwidth.

pm.each

either 0 or 1. When pm.each=1, the CV bandwidths for each side of the cutoff will be obtained separately.

bdy

either 0 or 1. When bdy=1, the CV bandwidth uses the boundary point procdure.

p.order

either 1 or 2. When p.order=1, a local linear regression is used, and when p.order=2, a local quadratic regression is used.

xl

if xl=0.5, the CV bandwidth use the 50% of observations closest to x0x_0.

Value

A list with elements:

cv

the selected CV bandwidth at the median.

opt.p

the MSE optimal bandwidth at the median from the right side of x0x_0.

opt.m

the MSE optimal bandwidth at the median from the left side of x0x_0.

References

Zhongjun Qu, Jungmo Yoon, Pierre Perron (2024), "Inference on Conditional Quantile Processes in Partially Linear Models with Applications to the Impact of Unemployment Benefits," The Review of Economics and Statistics; doi:10.1162/rest_a_01168

Zhongjun Qu and Jungmo Yoon (2019), "Uniform Inference on Quantile Effects under Sharp Regression Discontinuity Designs," Journal of Business and Economic Statistics, 37(4), 625–647; doi:10.1080/07350015.2017.1407323

Examples

# Without covariate
n = 500
x = runif(n,min=-4,max=4)
d = (x > 0)
y = x + 0.3*(x^2) - 0.1*(x^3) + 1.5*d + rnorm(n)
tlevel = seq(0.1,0.9,by=0.1)
rdq.bandwidth(y=y,x=x,d=d,x0=0,z0=NULL,cv=1,val=(1:4))
rdq.bandwidth(y=y,x=x,d=d,x0=0,z0=NULL,cv=0,val=(1:4),hp=2)

# (continued) With covariates
z = sample(c(0,1),n,replace=TRUE)
y = x + 0.3*(x^2) - 0.1*(x^3) + 1.5*d + d*z + rnorm(n)
rdq.bandwidth(y=y,x=cbind(x,z),d=d,x0=0,z0=c(0,1),cv=1,val=(1:4),bdy=1,p.order=1)

Bias estimation

Description

rdq.bias estimates the bias terms using the local quadratic quantile regression.

Usage

rdq.bias(y, x, dz, x0, z0, taus, h.tau, h.tau2, fx, cov)

Arguments

y

a numeric vector, the outcome variable.

x

a vector (or a matrix) of covariates, the first column is the running variable.

dz

the number of covariates.

x0

the cutoff point.

z0

the value of the covariates at which to evaluate the effects.

taus

a vector of quantiles of interest.

h.tau

the bandwidth values (specified for each quantile level), for estimating conditional quantiles.

h.tau2

the bandwidth values for the local quadratic quantile regression, for estimating the bias terms.

fx

conditional density estimates.

cov

either 0 or 1. Set cov=1 if covariates are present in the model; otherwise set cov=0.

Value

A list with elements:

bias

the bias estimates.

b.hat

the estimate of the Bv(x,z,τ)B_{v}(x,z,\tau) term. See Qu, Yoon, and Perron (2024).

References

Zhongjun Qu, Jungmo Yoon, Pierre Perron (2024), "Inference on Conditional Quantile Processes in Partially Linear Models with Applications to the Impact of Unemployment Benefits," The Review of Economics and Statistics; doi:10.1162/rest_a_01168

Examples

n = 500
x = runif(n,min=-4,max=4)
d = (x > 0)
y = x + 0.3*(x^2) - 0.1*(x^3) + 1.5*d + rnorm(n)
tlevel = seq(0.1,0.9,by=0.1)
tlevel2 = c(0.05,tlevel,0.95)
hh = rep(2,length(tlevel))
hh2 = rep(2,length(tlevel2))

ab = rdq(y=y,x=x,d=d,x0=0,z0=NULL,tau=tlevel2,h.tau=hh2,cov=0)
delta = c(0.05,0.09,0.14,0.17,0.19,0.17,0.14,0.09,0.05)
hh = rep(2,length(tlevel))
fe = rdq.condf(x,Q=ab$qp.est,bcoe=ab$bcoe.p,taus=tlevel,taul=tlevel2,delta=delta,cov=0)
be = rdq.bias(y[d==1],x[d==1],dz=0,x0=0,z0=NULL,taus=tlevel,hh,hh,fx=fe$ff[(d==1),],cov=0)

Conditional density estimation

Description

rdq.condf estimates conditional density functions by using the differencing method.

Usage

rdq.condf(x, Q, bcoe, taus, taul, delta, cov)

Arguments

x

a vector (or a matrix) of covariates.

Q

a vector of estimated conditional quantiles.

bcoe

quantile regression coefficient estimates.

taus

a vector of quantiles of interest.

taul

a vector of quantiles used for the conditional density estimation. It is needed to estimate the tail parts of conditional density functions more precisely.

delta

bandwidths for estimating the conditional density.

cov

either 0 or 1. Set cov=1 if covariates are present in the model; otherwise set cov=0.

Value

conditional density function estimates

Examples

n = 500
x = runif(n,min=-4,max=4)
d = (x > 0)
y = x + 0.3*(x^2) - 0.1*(x^3) + 1.5*d + rnorm(n)
tlevel = seq(0.1,0.9,by=0.1)
hh = rep(2,length(tlevel))

ab = rdq(y=y,x=x,d=d,x0=0,z0=NULL,tau=tlevel,h.tau=hh,cov=0)
delta = 0.186
fe = rdq.condf(x=x,Q=ab$qp.est,bcoe=ab$bcoe.p,taus=0.5,taul=tlevel,delta=delta,cov=0)

tests for QTE

Description

rdq.test provides testing results for hypotheses on the treatment effects concerning (i) treatment significance, (ii) homogeneity of effects over quantiles, and (iii) positive or negative dominance hypothesis.

Usage

rdq.test(y,x,d,x0,z0=NULL,tau,bdw,bias,alpha=0.1,type=1,std.opt=1)

Arguments

y

a numeric vector, the outcome variable.

x

a vector (or a matrix) of covariates. When no covariates are included, xx is simply a vector of the running variable and z0z0 can be left unspecified. When covariates are included, xx should be a matrix with the running variable in the first column and the covariates in the remaining columns.

d

a numeric vector, the treatment status.

x0

the cutoff point.

z0

the value of the covariates at which to evaluate the effects. For example, if a female dummy is included, z0 = 1 indicates the female subgroup.

tau

a vector of quantiles of interest.

bdw

the bandwidth value(s). If bdw is a scalar, it is interpreted as the bandwidth for the median. The bandwidths for the rest of the quantiles are computed automatically using the formula in Yu and Jones (1998). If it is a vector with the same dimension as tau, the function will use these values for the respective quantiles accordingly.

bias

either 0 or 1. If bias=1, the QTE estimate is bias corrected and the robust confidence band in Qu, Yoon, and Perron (2024) is produced. If bias=0, no bias correction is implemented.

alpha

a numeric value between 0 and 1 specifying the significance level. For example, setting alpha = 0.1 yields a 90% uniform confidence band. Multiple significance levels can be specified, e.g., alpha = c(0.1, 0.05).

type

a value in 1–4. Set type to 1 to test the null hypothesis of a zero treatment effect against the alternative hypothesis of significant treatment effects; set type to 2 to test the null hypothesis of homogeneous treatment against heterogeneous treatment effects; set type to 3 to test the null hypothesis of uniformly non-negative treatment effects against the presence of negative effects; and set type to 4 to test the null hypothesis of uniformly non-positive treatment effects against the presence of positive effects at some quantiles.

std.opt

either 0 or 1. If std.opt=1, the test statistic is standardized so that the variance is equalized across quantiles; if std.opt=0, the test is not standardized.

Value

A list with elements:

statistic

test statistics.

cr.va

critical values.

p.value

p values.

References

Zhongjun Qu, Jungmo Yoon, Pierre Perron (2024), "Inference on Conditional Quantile Processes in Partially Linear Models with Applications to the Impact of Unemployment Benefits," The Review of Economics and Statistics; doi:10.1162/rest_a_01168

Zhongjun Qu and Jungmo Yoon (2019), "Uniform Inference on Quantile Effects under Sharp Regression Discontinuity Designs," Journal of Business and Economic Statistics, 37(4), 625–647; doi:10.1080/07350015.2017.1407323

Examples

# Without covariate
n = 500
x = runif(n,min=-4,max=4)
d = (x > 0)
y = x + 0.3*(x^2) - 0.1*(x^3) + 1.5*d + rnorm(n)
tlevel = seq(0.1,0.9,by=0.1)
B = rdq.test(y=y,x=x,d=d,x0=0,z0=NULL,tau=tlevel,bdw=2,bias=1,alpha=c(0.1,0.05),type=c(1,2,3))

# (continued) With covariates
z = sample(c(0,1),n,replace=TRUE)
y = x + 0.3*(x^2) - 0.1*(x^3) + 1.5*d + d*z + rnorm(n)
B = rdq.test(y=y,x=cbind(x,z),d=d,x0=0,z0=c(0,1),tau=tlevel,bdw=2,bias=1,
alpha=c(0.1,0.05),type=c(3,4))

Uniform confidence band for QTE.

Description

summary.qte returns uniform confidence bands and standard errors for QTE estimates.

Usage

## S3 method for class 'qte'
summary(object, alpha = 0.1, ...)

Arguments

object

It is an object of class "qte" produced by rd.qte.

alpha

a number between 0 and 1, the desired significance level. For example, setting alpha = 0.1 yields a 90% uniform confidence band. Multiple significance levels can be specified, e.g., alpha = c(0.1, 0.05).

...

optional arguments.

Value

A list with elements:

qte

QTE estimates.

uband

uniform confidence band for QTE. If bias=1, the band is robust capturing the effect of the bias correction. If bias=0, no bias correction is implemented.

sigma

standard errors for each quantile level. If bias=1, its value captures the effect of the bias correction. If bias=0, no bias correction is implemented.

qp.est

conditional quantile estimates on the right side of x0x_{0} (or for the D=1D=1 group).

qm.est

conditional quantile estimates on the left side of x0x_{0} (or for the D=0D=0 group).

uband.p

uniform confidence band for conditional quantiles on the right side of x0x_{0}.

uband.m

uniform confidence band for conditional quantiles on the left side of x0x_{0}.

References

Zhongjun Qu, Jungmo Yoon, Pierre Perron (2024), "Inference on Conditional Quantile Processes in Partially Linear Models with Applications to the Impact of Unemployment Benefits," The Review of Economics and Statistics; doi:10.1162/rest_a_01168

Zhongjun Qu and Jungmo Yoon (2019), "Uniform Inference on Quantile Effects under Sharp Regression Discontinuity Designs," Journal of Business and Economic Statistics, 37(4), 625–647; doi:10.1080/07350015.2017.1407323

Examples

# Without covariate
n <- 500
x <- runif(n,min=-4,max=4)
d <- (x > 0)
y <- x + 0.3*(x^2) - 0.1*(x^3) + 1.5*d + rnorm(n)
tlevel = seq(0.1,0.9,by=0.1)
A <- rd.qte(y=y,x=x,d=d,x0=0,z0=NULL,tau=tlevel,bdw=2,bias=1)
A2 <- summary(A,alpha=0.1)

# (continued) With covariates
z <- sample(c(0,1),n,replace=TRUE)
y <- x + 0.3*(x^2) - 0.1*(x^3) + 1.5*d + d*z + rnorm(n)
A <- rd.qte(y=y,x=cbind(x,z),d=d,x0=0,z0=c(0,1),tau=tlevel,bdw=2,bias=1)
A2 <- summary(A,alpha=0.1)