bunch {bunchr} | R Documentation |
Bunching Analysis
Description
Given a kinked or notched budget set, this function gets a vector of earnings and analyzes bunching. The bunchr package has two main useful functions:
Usage
bunch(earnings, zstar, t1, t2, Tax = 0, cf_start = NA, cf_end = NA,
exclude_before = NA, exclude_after = NA, force_after = FALSE,
binw = 10, poly_size = 7, convergence = 0.01, max_iter = 100,
correct = TRUE, select = TRUE, draw = TRUE, nboots = 0, seed = NA,
progress = FALSE, title = "Bunching Visualization",
varname = "Earnings")
Arguments
earnings |
Vector of earnings, hopefully a very large one. |
zstar |
Place of kink (critical earning point). |
t1 |
Marginal tax rate before kink. |
t2 |
Marginal tax rate after kink. |
Tax |
"Penalty" tax for crossing zstar. |
cf_start |
Number of bins before the kink bin where counter-factual histogram should start. |
cf_end |
Number of bins after the kink bin where counter-factual histogram should start. |
exclude_before |
Number of excluded bins before the kink bin. |
exclude_after |
Number of excluded bins after the kink bin. |
force_after |
For notch analysis, should |
binw |
Bin width. |
poly_size |
Order of polynomial used to calculate counter-factual histogram. |
convergence |
Minimal rate of change of bunching estimate to stop iterations. |
max_iter |
Maximum number of iterations for bunching estimates. |
correct |
Should the counter-factual histogram be corrected to compensate for shifting left because of the notch? See details. |
select |
Should model selection be used to find counter-factual histogram? See details. |
draw |
Should a graph be drawn? |
nboots |
how many bootstraps should be run? |
seed |
specify seed for bootstraps (earnings sampling). |
progress |
Should a progress bar be desplayed? |
title |
Title for Plot output |
varname |
Name for running variable, to be desplayed in the plot |
Details
bunch
checks if the specification has a kink, i.e. if the Tax
parameter is greater than zero. If so, it applies notch_estimator
.
Otherwise, it applies kink_estimator
. Additionally, bunch
can bootstrap by sampling the earnings vector, returning a vector with
the estimated elasticities.
Value
bunch
returns a list comprising of the parameters returned by
kink_estimator
and notch_estimator
. If bootstraps were asked for,
bootstrapped values are added to the list. Drawing of histograms is
suppressed when running the bootsraps.
See Also
kink_estimator
, notch_estimator
Examples
# analyzing a kink
ability_vec <- 4000 * rbeta(100000, 2, 5)
earning_vec <- sapply(ability_vec, earning_fun, 0.2, 0, 0.2, 0, 1000)
# bunch_viewer(earning_vec, 1000, 20, 20, 1, 1, binw = 20)
estim <- bunch(earning_vec, 1000, 0, 0.2, Tax = 0, 20, 20, 1, 1,
binw = 20, draw=TRUE, nboots = 0, seed = 16)
estim$e
# analyzing a notch
earning_vec <- sapply(ability_vec, earning_fun, 0.2, 0.2, 0.2, 500, 1000)
bunch_viewer(earning_vec, 1000, 10, 40, 2, 22, binw = 50)
estim <- bunch(earning_vec, 1000, 0.2, 0.2, Tax = 500, 10, 40, 2, 22,
binw = 50, draw = FALSE, nboots = 0, seed = 16)
estim$e