| Version: | 1.0.7 | 
| Date: | 2025-01-12 | 
| Title: | Robustness Checks for Omitted Variable Bias | 
| Maintainer: | Sergei Schaub <sergei.schaub@agroscope.admin.ch> | 
| Description: | Robustness checks for omitted variable bias. The package includes robustness checks proposed by Oster (2019). The 'robomit' package computes i) the bias-adjusted treatment correlation or effect and ii) the degree of selection on unobservables relative to observables (with respect to the treatment variable) that would be necessary to eliminate the result based on the framework by Oster (2019). The code is based on the 'psacalc' command in 'Stata'. Additionally, 'robomit' offers a set of sensitivity analysis and visualization functions. See Oster, E. 2019. <doi:10.1080/07350015.2016.1227711>. Additionally, see Diegert, P., Masten, M. A., & Poirier, A. (2022) for a recent discussion of the topic: <doi:10.48550/arXiv.2206.02303>. | 
| License: | MIT + file LICENSE | 
| Encoding: | UTF-8 | 
| RoxygenNote: | 7.3.2 | 
| Imports: | plm, dplyr, ggplot2, broom, tidyr, tibble, stats, | 
| Suggests: | testthat | 
| NeedsCompilation: | no | 
| Packaged: | 2025-01-31 16:37:37 UTC; f80866559 | 
| Author: | Sergei Schaub | 
| Repository: | CRAN | 
| Date/Publication: | 2025-01-31 17:20:02 UTC | 
beta*
Description
Estimates beta*, i.e., the bias-adjusted treatment effect (or correlation) (following Oster 2019). The code is based on the psacalc command in Stata.
Usage
o_beta(y, x, con, w = NULL, id = "none", time = "none", delta = 1,
R2max, type, data)
Arguments
| y | Name of the dependent variable (as string). | 
| x | Name of the independent treatment variable (i.e., variable of interest; as string). | 
| con | Name of related control variables. Provided as string in the format: "w + z +...". | 
| w | weights (only for weighted estimations). Warning: For weighted panel models R can report different R-square than Stata, leading deviation between R and Stata results. | 
| id | Name of the individual id variable (e.g. firm or farm; as string). Only applicable for fixed effect panel models. | 
| time | Name of the time id variable (e.g. year or month; as string). Only applicable for fixed effect panel models. | 
| delta | delta for which beta* should be estimated (default is delta = 1). | 
| R2max | Maximum R-square for which beta* should be estimated. | 
| type | Model type (either lm or plm; as string). | 
| data | Dataset. | 
Details
Estimates beta*, i.e., the bias-adjusted treatment effect (or correlation).
Value
Returns tibble object, which includes beta* and various other information.
References
Oster, E. (2019) Unobservable Selection and Coefficient Stability: Theory and Evidence. Journal of Business & Economic Statistics, 37, 187-204.
Examples
# load data, e.g. the in-build mtcars dataset
data("mtcars")
data_oster <- mtcars
# preview of data
head(data_oster)
# load robomit
require(robomit)
# estimate beta*
o_beta(y = "mpg",           # dependent variable
       x = "wt",            # independent treatment variable
       con = "hp + qsec",   # related control variables
       delta = 1,           # delta
       R2max = 0.9,         # maximum R-square
       type = "lm",         # model type
       data = data_oster)   # dataset
Bootstrapped beta*s
Description
Estimates bootstrapped beta*s, i.e., the bias-adjusted treatment effects (or correlations) (following Oster 2019).
Usage
o_beta_boot(y, x, con, w = NULL, id = "none", time = "none", delta = 1,
R2max, sim, obs, rep, type, useed = NA, data)
Arguments
| y | Name of the dependent variable (as string). | 
| x | Name of the independent treatment variable (i.e., variable of interest; as string). | 
| con | Name of related control variables. Provided as string in the format: "w + z +...". | 
| w | weights (only for weighted estimations). Warning: For weighted panel models R can report different R-square than Stata, leading deviation between R and Stata results. | 
| id | Name of the individual id variable (e.g. firm or farm; as string). Only applicable for fixed effect panel models. | 
| time | Name of the time id variable (e.g. year or month; as string). Only applicable for fixed effect panel models. | 
| delta | delta for which beta*s should be estimated (default is delta = 1). | 
| R2max | Maximum R-square for which beta*s should be estimated. | 
| sim | Number of simulations. | 
| obs | Number of draws per simulation. | 
| rep | Bootstrapping either with (= TRUE) or without (= FALSE) replacement. | 
| type | Model type (either lm or plm; as string). | 
| useed | User defined seed. | 
| data | Dataset. | 
Details
Estimates bootstrapped beta*s, i.e., the bias-adjusted treatment effects (or correlations) (following Oster 2019). Bootstrapping can either be done with or without replacement. The function supports linear cross-sectional (see lm objects in R) and fixed effect panel (see plm objects in R) models.
Value
Returns tibble object, which includes bootstrapped beta*s.
References
Oster, E. (2019). Unobservable Selection and Coefficient Stability: Theory and Evidence. Journal of Business & Economic Statistics, 37, 187-204.
Examples
# load data, e.g. the in-build mtcars dataset
data("mtcars")
data_oster <- mtcars
# preview of data
head(data_oster)
# load robomit
require(robomit)
# estimate bootstrapped beta*s
o_beta_boot(y = "mpg",            # dependent variable
            x = "wt",             # independent treatment variable
            con = "hp + qsec",    # related control variables
            delta = 1,            # delta
            R2max = 0.9,          # maximum R-square
            sim = 100,            # number of simulations
            obs = 30,             # draws per simulation
            rep = FALSE,          # bootstrapping with or without replacement
            type = "lm",          # model type
            useed = 123,          # seed
            data = data_oster)    # dataset
Bootstrapped mean beta* and confidence intervals
Description
Provides the mean and confidence intervals of estimated bootstrapped beta*s, i.e., the bias-adjusted treatment effects (or correlations) (following Oster 2019).
Usage
o_beta_boot_inf(y, x, con, w = NULL, id = "none", time = "none",
delta = 1, R2max, sim, obs, rep, CI, type, useed = NA, data)
Arguments
| y | Name of the dependent variable (as string). | 
| x | Name of the independent treatment variable (i.e., variable of interest; as string). | 
| con | Name of related control variables. Provided as string in the format: "w + z +...". | 
| w | weights (only for weighted estimations). Warning: For weighted panel models R can report different R-square than Stata, leading deviation between R and Stata results. | 
| id | Name of the individual id variable (e.g. firm or farm; as string). Only applicable for fixed effect panel models. | 
| time | Name of the time id variable (e.g. year or month; as string). Only applicable for fixed effect panel models. | 
| delta | delta for which beta*s should be estimated (default is delta = 1). | 
| R2max | Maximum R-square for which beta*s should be estimated. | 
| sim | Number of simulations. | 
| obs | Number of draws per simulation. | 
| rep | Bootstrapping either with (= TRUE) or without (= FALSE) replacement | 
| CI | Confidence intervals, indicated as vector. Can be and/or 90, 95, 99. | 
| type | Model type (either lm or plm; as string). | 
| useed | User defined seed. | 
| data | Dataset. | 
Details
Provides the mean and confidence intervals of estimated bootstrapped beta*s, i.e., the bias-adjusted treatment effects (or correlations) (following Oster 2019). Bootstrapping can either be done with or without replacement. The function supports linear cross-sectional (see lm objects in R) and fixed effect panel (see plm objects in R) models.
Value
Returns tibble object, which includes the mean and confidence intervals of estimated bootstrapped beta*s.
References
Oster, E. (2019). Unobservable Selection and Coefficient Stability: Theory and Evidence. Journal of Business & Economic Statistics, 37, 187-204.
Examples
# load data, e.g. the in-build mtcars dataset
data("mtcars")
data_oster <- mtcars
# preview of data
head(data_oster)
# load robomit
require(robomit)
# compute the mean and confidence intervals of estimated bootstrapped beta*s
o_beta_boot_inf(y = "mpg",            # dependent variable
                x = "wt",             # independent treatment variable
                con = "hp + qsec",    # related control variables
                delta = 1,            # delta
                R2max = 0.9,          # maximum R-square
                sim = 100,            # number of simulations
                obs = 30,             # draws per simulation
                rep = FALSE,          # bootstrapping with or without replacement
                CI = c(90,95,99),     # confidence intervals
                type = "lm",          # model type
                useed = 123,          # seed
                data = data_oster)    # dataset
Visualization of bootstrapped beta*s
Description
Estimates and visualizes bootstrapped beta*s, i.e., the bias-adjusted treatment effects (or correlations) (following Oster 2019).
Usage
o_beta_boot_viz(y, x, con, w = NULL, id = "none", time = "none",
delta = 1, R2max, sim, obs, rep, CI, type, norm = TRUE, bin,
col = c("#08306b","#4292c6","#c6dbef"), nL = TRUE, mL = TRUE, useed = NA, data)
Arguments
| y | Name of the dependent variable (as string). | 
| x | Name of the independent treatment variable (i.e., variable of interest; as string). | 
| con | Name of related control variables. Provided as string in the format: "w + z +...". | 
| w | weights (only for weighted estimations). Warning: For weighted panel models R can report different R-square than Stata, leading deviation between R and Stata results. | 
| id | Name of the individual id variable (e.g. firm or farm; as string). Only applicable for fixed effect panel models. | 
| time | Name of the time id variable (e.g. year or month; as string). Only applicable for fixed effect panel models. | 
| delta | delta for which beta*s should be estimated (default is delta = 1). | 
| R2max | Maximum R-square for which beta*s should be estimated. | 
| sim | Number of simulations. | 
| obs | Number of draws per simulation. | 
| rep | Bootstrapping either with (= TRUE) or without (= FALSE) replacement | 
| CI | Confidence intervals, indicated as vector. Can be and/or 90, 95, 99. | 
| type | Model type (either lm or plm; as string). | 
| norm | Option to include a normal distribution in the plot (default is norm = TURE). | 
| bin | Number of bins used in the histogram. | 
| col | Colors used to indicate different confidence interval levels (indicated as vector). Needs to be the same length as the variable CI. The default is a blue color range. | 
| nL | Option to include a red vertical line at 0 (default is nL = TRUE). | 
| mL | Option to include a vertical line at mean of all beta*s (default is mL = TRUE). | 
| useed | User defined seed. | 
| data | Dataset. | 
Details
Estimates and visualizes bootstrapped beta*s, i.e., the bias-adjusted treatment effects (or correlations) (following Oster 2019). Bootstrapping can either be done with or without replacement. The function supports linear cross-sectional (see lm objects in R) and fixed effect panel (see plm objects in R) models.
Value
Returns ggplot2 object, which depicts the bootstrapped beta*s.
References
Oster, E. (2019). Unobservable Selection and Coefficient Stability: Theory and Evidence. Journal of Business & Economic Statistics, 37, 187-204.
Examples
# load data, e.g. the in-build mtcars dataset
data("mtcars")
data_oster <- mtcars
# preview of data
head(data_oster)
# load robomit
require(robomit)
# estimate and visualize bootstrapped beta*s
o_beta_boot_viz(y = "mpg",            # dependent variable
                x = "wt",             # independent treatment variable
                con = "hp + qsec",    # related control variables
                delta = 1,            # delta
                R2max = 0.9,          # maximum R-square
                sim = 100,            # number of simulations
                obs = 30,             # draws per simulation
                rep = FALSE,          # bootstrapping with or without replacement
                CI = c(90,95,99),     # confidence intervals
                type = "lm",          # model type
                norm = TRUE,          # normal distribution
                bin = 200,            # number of bins
                useed = 123,          # seed
                data = data_oster)    # dataset
beta*s over a range of maximum R-squares
Description
Estimates beta*s, i.e., the bias-adjusted treatment effects (or correlations) (following Oster 2019) over a range of maximum R-squares.
Usage
o_beta_rsq(y, x, con, w = NULL, id = "none", time = "none", delta = 1,
type, data)
Arguments
| y | Name of the dependent variable (as string). | 
| x | Name of the independent treatment variable (i.e., variable of interest; as string). | 
| con | Name of related control variables. Provided as string in the format: "w + z +...". | 
| w | weights (only for weighted estimations). Warning: For weighted panel models R can report different R-square than Stata, leading deviation between R and Stata results. | 
| id | Name of the individual id variable (e.g. firm or farm; as string). Only applicable for fixed effect panel models. | 
| time | Name of the time id variable (e.g. year or month; as string). Only applicable for fixed effect panel models. | 
| delta | delta for which beta*s should be estimated (default is delta = 1). | 
| type | Model type (either lm or plm; as string). | 
| data | Dataset. | 
Details
Estimates beta*s, i.e., the bias-adjusted treatment effects (or correlations) (following Oster 2019) over a range of maximum R-squares. The range of maximum R-squares starts from the R-square of the controlled model rounded up to the next 1/100 to 1. The function supports linear cross-sectional (see lm objects in R) and fixed effect panel (see plm objects in R) models.
Value
Returns tibble object, which includes beta*s over a range of maximum R-squares.
References
Oster, E. (2019). Unobservable Selection and Coefficient Stability: Theory and Evidence. Journal of Business & Economic Statistics, 37, 187-204.
Examples
# load data, e.g. the in-build mtcars dataset
data("mtcars")
data_oster <- mtcars
# preview of data
head(data_oster)
# load robomit
require(robomit)
# estimate delta*s over a range of maximum R-squares
o_beta_rsq(y = "mpg",            # dependent variable
           x = "wt",             # independent treatment variable
           con = "hp + qsec",    # related control variables
           delta = 1,            # delta
           type = "lm",          # model type
           data = data_oster)    # dataset
Visualization of beta*s over a range of maximum R-squares
Description
Estimates and visualizes beta*s, i.e., the bias-adjusted treatment effects (or correlations) (following Oster 2019) over a range of maximum R-squares.
Usage
o_beta_rsq_viz(y, x, con, w = NULL, id = "none", time = "none", delta = 1,
type, data)
Arguments
| y | Name of the dependent variable (as string). | 
| x | Name of the independent treatment variable (i.e., variable of interest; as string). | 
| con | Name of related control variables. Provided as string in the format: "w + z +...". | 
| w | weights (only for weighted estimations). Warning: For weighted panel models R can report different R-square than Stata, leading deviation between R and Stata results. | 
| id | Name of the individual id variable (e.g. firm or farm; as string). Only applicable for fixed effect panel models. | 
| time | Name of the time id variable (e.g. year or month; as string). Only applicable for fixed effect panel models. | 
| delta | delta for which beta*s should be estimated (default is delta = 1). | 
| type | Model type (either lm or plm; as string). | 
| data | Dataset. | 
Details
Estimates and visualizes beta*s, i.e., the bias-adjusted treatment effects (or correlations) (following Oster 2019) over a range of maximum R-squares. The range of maximum R-squares starts from the R-square of the controlled model rounded up to the next 1/100 to 1. The function supports linear cross-sectional (see lm objects in R) and fixed effect panel (see plm objects in R) models.
Value
Returns ggplot2 object, which depicts beta*s over a range of maximum R-squares.
References
Oster, E. (2019). Unobservable Selection and Coefficient Stability: Theory and Evidence. Journal of Business & Economic Statistics, 37, 187-204.
Examples
# load data, e.g. the in-build mtcars dataset
data("mtcars")
data_oster <- mtcars
# preview of data
head(data_oster)
# load robomit
require(robomit)
# estimate and visualize beta*s over a range of maximum R-squares
o_beta_rsq_viz(y = "mpg",            # dependent variable
               x = "wt",             # independent treatment variable
               con = "hp + qsec",    # related control variables
               delta = 1,            # delta
               type = "lm",          # model type
               data = data_oster)    # dataset
delta*
Description
Estimates delta*, i.e., the degree of selection on unobservables relative to observables (with respect to the treatment variable) that would be necessary to eliminate the result (following Oster 2019). The code is based on the psacalc command in Stata.
Usage
o_delta(y, x, con, w = NULL, id = "none", time = "none", beta = 0, R2max,
type, data)
Arguments
| y | Name of the dependent variable (as string). | 
| x | Name of the independent treatment variable (i.e., variable of interest; as string). | 
| con | Name of related control variables. Provided as string in the format: "w + z +...". | 
| w | weights (only for weighted estimations). Warning: For weighted panel models R can report different R-square than Stata, leading deviation between R and Stata results. | 
| id | Name of the individual id variable (e.g. firm or farm; as string). Only applicable for fixed effect panel models. | 
| time | Name of the time id variable (e.g. year or month; as string). Only applicable for fixed effect panel models. | 
| beta | beta for which delta* should be estimated (default is beta = 0). | 
| R2max | Maximum R-square for which delta* should be estimated. | 
| type | Model type (either lm or plm; as string). | 
| data | Dataset. | 
Details
Estimates delta*, i.e., the degree of selection on unobservables relative to observables (with respect to the treatment variable) that would be necessary to eliminate the result (following Oster 2019). The function supports linear cross-sectional (see lm objects in R) and fixed effect panel (see plm objects in R) models.
Value
Returns tibble object, which includes delta* and various other information.
References
Oster, E. (2019). Unobservable Selection and Coefficient Stability: Theory and Evidence. Journal of Business & Economic Statistics, 37, 187-204.
Examples
# load data, e.g. the in-build mtcars dataset
data("mtcars")
data_oster <- mtcars
# preview of data
head(data_oster)
# load robomit
require(robomit)
# estimate delta*
o_delta(y = "mpg",           # dependent variable
        x = "wt",            # independent treatment variable
        con = "hp + qsec",   # related control variables
        beta = 0,            # beta
        R2max = 0.9,         # maximum R-square
        type = "lm",         # model type
        data = data_oster)   # dataset
Bootstrapped delta*s
Description
Estimates bootstrapped delta*s, i.e., the degree of selection on unobservables relative to observables (with respect to the treatment variable) that would be necessary to eliminate the result (following Oster 2019).
Usage
o_delta_boot(y, x, con, w = NULL, id = "none", time = "none", beta = 0, R2max,
sim, obs, rep, type, useed = NA, data)
Arguments
| y | Name of the dependent variable (as string). | 
| x | Name of the independent treatment variable (i.e., variable of interest; as string). | 
| con | Name of related control variables. Provided as string in the format: "w + z +...". | 
| w | weights (only for weighted estimations). Warning: For weighted panel models R can report different R-square than Stata, leading deviation between R and Stata results. | 
| id | Name of the individual id variable (e.g. firm or farm; as string). Only applicable for fixed effect panel models. | 
| time | Name of the time id variable (e.g. year or month; as string). Only applicable for fixed effect panel models. | 
| beta | beta for which delta*s should be estimated (default is beta = 0). | 
| R2max | Maximum R-square for which delta*s should be estimated. | 
| sim | Number of simulations. | 
| obs | Number of draws per simulation. | 
| rep | Bootstrapping either with (= TRUE) or without (= FALSE) replacement. | 
| type | Model type (either lm or plm; as string). | 
| useed | User defined seed. | 
| data | Dataset. | 
Details
Estimates bootstrapped delta*s, i.e., the degree of selection on unobservables relative to observables (with respect to the treatment variable) that would be necessary to eliminate the result (following Oster 2019). Bootstrapping can either be done with or without replacement. The function supports linear cross-sectional (see lm objects in R) and fixed effect panel (see plm objects in R) models.
Value
Returns tibble object, which includes bootstrapped delta*s.
References
Oster, E. (2019). Unobservable Selection and Coefficient Stability: Theory and Evidence. Journal of Business & Economic Statistics, 37, 187-204.
Examples
# load data, e.g. the in-build mtcars dataset
data("mtcars")
data_oster <- mtcars
# preview of data
head(data_oster)
# load robomit
require(robomit)
# estimate bootstrapped delta*s
o_delta_boot(y = "mpg",          # dependent variable
             x = "wt",           # independent treatment variable
             con = "hp + qsec",  # related control variables
             beta = 0,           # beta
             R2max = 0.9,        # maximum R-square
             sim = 100,          # number of simulations
             obs = 30,           # draws per simulation
             rep = FALSE,        # bootstrapping with or without replacement
             type = "lm",        # model type
             useed = 123,        # seed
             data = data_oster)  # dataset
Bootstrapped mean delta* and confidence intervals
Description
Provides the mean and confidence intervals of bootstrapped delta*s, i.e., the degree of selection on unobservables relative to observables (with respect to the treatment variable) that would be necessary to eliminate the result (following Oster 2019).
Usage
o_delta_boot_inf(y, x, con, w = NULL, id = "none", time = "none",
beta = 0, R2max, sim, obs, rep, CI, type, useed = NA, data)
Arguments
| y | Name of the dependent variable (as string). | 
| x | Name of the independent treatment variable (i.e., variable of interest; as string). | 
| con | Name of related control variables. Provided as string in the format: "w + z +...". | 
| w | weights (only for weighted estimations). Warning: For weighted panel models R can report different R-square than Stata, leading deviation between R and Stata results. | 
| id | Name of the individual id variable (e.g. firm or farm; as string). Only applicable for fixed effect panel models. | 
| time | Name of the time id variable (e.g. year or month; as string). Only applicable for fixed effect panel models. | 
| beta | beta for which delta*s should be estimated (default is beta = 0).. | 
| R2max | Maximum R-square for which delta*s should be estimated. | 
| sim | Number of simulations. | 
| obs | Number of draws per simulation. | 
| rep | Bootstrapping either with (= TRUE) or without (= FALSE) replacement | 
| CI | Confidence intervals, indicated as vector. Can be and/or 90, 95, 99. | 
| type | Model type (either lm or plm; as string). | 
| useed | User defined seed. | 
| data | Dataset. | 
Details
Provides the mean and confidence intervals of bootstrapped delta*s, i.e., the degree of selection on unobservables relative to observables (with respect to the treatment variable) that would be necessary to eliminate the result (following Oster 2019). Bootstrapping can either be done with or without replacement. The function supports linear cross-sectional (see lm objects in R) and fixed effect panel (see plm objects in R) models.
Value
Returns tibble object, which includes the mean and confidence intervals of bootstrapped delta*s.
References
Oster, E. (2019). Unobservable Selection and Coefficient Stability: Theory and Evidence. Journal of Business & Economic Statistics, 37, 187-204.
Examples
# load data, e.g. the in-build mtcars dataset
data("mtcars")
data_oster <- mtcars
# preview of data
head(data_oster)
# load robomit
require(robomit)
# compute the mean and confidence intervals of estimated bootstrapped delta*s
o_delta_boot_inf(y = "mpg",            # dependent variable
                 x = "wt",             # independent treatment variable
                 con = "hp + qsec",    # related control variables
                 beta = 0,             # beta
                 R2max = 0.9,          # maximum R-square
                 sim = 100,            # number of simulations
                 obs = 30,             # draws per simulation
                 rep = FALSE,          # bootstrapping with or without replacement
                 CI = c(90,95,99),     # confidence intervals
                 type = "lm",          # model type
                 useed = 123,          # seed
                 data = data_oster)    # dataset
Visualization of bootstrapped delta*s
Description
Estimates and visualizes bootstrapped delta*s, i.e., the degree of selection on unobservables relative to observables (with respect to the treatment variable) that would be necessary to eliminate the result (following Oster 2019).
Usage
o_delta_boot_viz(y, x, con, w = NULL, id = "none", time = "none",
beta = 0, R2max, sim, obs, rep, CI, type, norm = TRUE, bin,
col = c("#08306b","#4292c6","#c6dbef"), nL = TRUE, mL = TRUE, useed = NA, data)
Arguments
| y | Name of the dependent variable (as string). | 
| x | Name of the independent treatment variable (i.e., variable of interest; as string). | 
| con | Name of related control variables. Provided as string in the format: "w + z +...". | 
| w | weights (only for weighted estimations). Warning: For weighted panel models R can report different R-square than Stata, leading deviation between R and Stata results. | 
| id | Name of the individual id variable (e.g. firm or farm; as string). Only applicable for fixed effect panel models. | 
| time | Name of the time id variable (e.g. year or month; as string). Only applicable for fixed effect panel models. | 
| beta | beta for which delta*s should be estimated (default is beta = 0). | 
| R2max | Maximum R-square for which delta*s should be estimated. | 
| sim | Number of simulations. | 
| obs | Number of draws per simulation. | 
| rep | Bootstrapping either with (= TRUE) or without (= FALSE) replacement | 
| CI | Confidence intervals, indicated as vector. Can be and/or 90, 95, 99. | 
| type | Model type (either lm or plm; as string). | 
| norm | Option to include a normal distribution in the plot (default is norm = TURE). | 
| bin | Number of bins used in the histogram. | 
| col | Colors used to indicate different confidence interval levels (indicated as vector). Needs to be the same length as the variable CI. The default is a blue color range. | 
| nL | Option to include a red vertical line at 0 (default is nL = TRUE). | 
| mL | Option to include a vertical line at beta* mean (default is mL = TRUE). | 
| useed | User defined seed. | 
| data | Dataset. | 
Details
Estimates and visualizes bootstrapped delta*s, i.e., the degree of selection on unobservables relative to observables (with respect to the treatment variable) that would be necessary to eliminate the result (following Oster 2019). Bootstrapping can either be done with or without replacement. The function supports linear cross-sectional (see lm objects in R) and fixed effect panel (see plm objects in R) models.
Value
Returns ggplot2 object, which depicts the bootstrapped delta*s.
References
Oster, E. (2019). Unobservable Selection and Coefficient Stability: Theory and Evidence. Journal of Business & Economic Statistics, 37, 187-204.
Examples
# load data, e.g. the in-build mtcars dataset
data("mtcars")
data_oster <- mtcars
# preview of data
head(data_oster)
# load robomit
require(robomit)
# estimate and visualize bootstrapped delta*s
o_delta_boot_viz(y = "mpg",           # dependent variable
                 x = "wt",            # independent treatment variable
                 con = "hp + qsec",   # related control variables
                 beta = 0,            # beta
                 R2max = 0.9,         # maximum R-square
                 sim = 100,           # number of simulations
                 obs = 30,            # draws per simulation
                 rep = FALSE,         # bootstrapping with or without replacement
                 CI = c(90,95,99),    # confidence intervals
                 type = "lm",         # model type
                 norm = TRUE,         # normal distribution
                 bin = 200,           # number of bins
                 useed = 123,         # seed
                 data = data_oster)   # dataset
delta*s over a range of maximum R-squares
Description
Estimates delta*s, i.e., the degree of selection on unobservables relative to observables (with respect to the treatment variable) that would be necessary to eliminate the result (following Oster 2019) over a range of maximum R-squares following Oster (2019).
Usage
o_delta_rsq(y, x, con, w = NULL, id = "none", time = "none", beta = 0,
type, data)
Arguments
| y | Name of the dependent variable (as string). | 
| x | Name of the independent treatment variable (i.e., variable of interest; as string). | 
| con | Name of related control variables. Provided as string in the format: "w + z +...". | 
| w | weights (only for weighted estimations). Warning: For weighted panel models R can report different R-square than Stata, leading deviation between R and Stata results. | 
| id | Name of the individual id variable (e.g. firm or farm; as string). Only applicable for fixed effect panel models. | 
| time | Name of the time id variable (e.g. year or month; as string). Only applicable for fixed effect panel models. | 
| beta | beta for which delta*s should be estimated (default is beta = 0). | 
| type | Model type (either lm or plm; as string). | 
| data | Dataset. | 
Details
Estimates delta*s, i.e., the degree of selection on unobservables relative to observables (with respect to the treatment variable) that would be necessary to eliminate the result (following Oster 2019) over a range of maximum R-squares. The range of maximum R-squares starts from the R-square of the controlled model rounded up to the next 1/100 to 1. The function supports linear cross-sectional (see lm objects in R) and fixed effect panel (see plm objects in R) models.
Value
Returns tibble object, which includes delta*s over a range of maximum R-squares.
References
Oster, E. (2019). Unobservable Selection and Coefficient Stability: Theory and Evidence. Journal of Business & Economic Statistics, 37, 187-204.
Examples
# load data, e.g. the in-build mtcars dataset
data("mtcars")
data_oster <- mtcars
# preview of data
head(data_oster)
# load robomit
require(robomit)
# estimate delta*s over a range of maximum R-squares
o_delta_rsq(y = "mpg",           # dependent variable
            x = "wt",            # independent treatment variable
            con = "hp + qsec",   # related control variables
            beta = 0,            # beta
            type = "lm",         # model type
            data = data_oster)   # dataset
Visualization of delta*s over a range of maximum R-squares
Description
Estimates and visualizes delta*s, i.e., the degree of selection on unobservables relative to observables (with respect to the treatment variable) that would be necessary to eliminate the result (following Oster 2019) over a range of maximum R-squares.
Usage
o_delta_rsq_viz(y, x, con, w = NULL, id = "none", time = "none", beta = 0,
type, data)
Arguments
| y | Name of the dependent variable (as string). | 
| x | Name of the independent treatment variable (i.e., variable of interest; as string). | 
| con | Name of related control variables. Provided as string in the format: "w + z +...". | 
| w | weights (only for weighted estimations). Warning: For weighted panel models R can report different R-square than Stata, leading deviation between R and Stata results. | 
| id | Name of the individual id variable (e.g. firm or farm; as string). Only applicable for fixed effect panel models. | 
| time | Name of the time id variable (e.g. year or month; as string). Only applicable for fixed effect panel models. | 
| beta | beta for which delta*s should be estimated (default is beta = 0). | 
| type | Model type (either lm or plm; as string). | 
| data | Dataset. | 
Details
Estimates and visualizes delta*s, i.e., the degree of selection on unobservables relative to observables (with respect to the treatment variable) that would be necessary to eliminate the result (following Oster 2019) over a range of maximum R-squares. The range of maximum R-squares starts from the R-square of the controlled model rounded up to the next 1/100 to 1. The function supports linear cross-sectional (see lm objects in R) and fixed effect panel (see plm objects in R) models.
Value
Returns ggplot2 object, which depicts delta*s over a range of maximum R-squares.
References
Oster, E. (2019). Unobservable Selection and Coefficient Stability: Theory and Evidence. Journal of Business & Economic Statistics, 37, 187-204.
Examples
# load data, e.g. the in-build mtcars dataset
data("mtcars")
data_oster <- mtcars
# preview of data
head(data_oster)
# load robomit
require(robomit)
# estimate and visualize delta*s over a range of maximum R-squares
o_delta_rsq_viz(y = "mpg",           # dependent variable
                x = "wt",            # independent treatment variable
                con = "hp + qsec",   # related control variables
                beta = 0,            # beta
                type = "lm",         # model type
                data = data_oster)   # dataset