The `fwildclusterboot`

package provides a native R implementation of the fast wild cluster bootstrap algorithm developed in Roodman et al (2019) for regression objects in R.

It also ports functionality of WildBootTests.jl to R via the JuliaConnectoR.

The package’s central function is `boottest()`

. It allows to test univariate hypotheses using a wild cluster bootstrap at extreme speed: via the ‘fast’ algorithm, it is possible to run a wild cluster bootstrap with iterations in less than a second!

`fwildclusterboot`

supports the following features:

- The wild bootstrap for OLS (Wu 1986).
- The wild cluster bootstrap for OLS (Cameron, Gelbach & Miller 2008, Roodman et al, 2019)
- The subcluster bootstrap (MacKinnon and Webb 2018).
- Confidence intervals formed by inverting the test and iteratively searching for bounds.
- Multiway clustering.
- One-way fixed effects.

Additional features are provided through `WildBootTests.jl`

:

- The Wild Restricted Efficient bootstrap (WRE) for IV/2SLS/LIML (Davidson & MacKinnon, 2010).
- Arbitrary and multiple linear hypotheses in the parameters.

`fwildclusterboot`

supports the following models:

- OLS:
`lm`

(from stats),`fixest`

(from fixest),`felm`

from (lfe) - IV:
`ivreg`

(from ivreg).

`boottest()`

functionFor a longer introduction to `fwildclusterboot`

, take a look at the vignette.

```
library(fwildclusterboot)
# set seed via dqset.seed for boot_algo = "R" & Rademacher, Webb & Normal weights
dqrng::dqset.seed(2352342)
# set 'familiar' seed for all other algorithms and weight types
set.seed(23325)
data(voters)
# fit the model via fixest::feols(), lfe::felm() or stats::lm()
lm_fit <- lm(proposition_vote ~ treatment + log_income + as.factor(Q1_immigration) + as.factor(Q2_defense), data = voters)
# bootstrap inference via boottest()
lm_boot <- boottest(lm_fit, clustid = c("group_id1"), B = 9999, param = "treatment", seed = 1)
summary(lm_boot)
#> boottest.lm(object = lm_fit, param = "treatment", B = 9999, clustid = c("group_id1"),
#> seed = 1)
#>
#> Hypothesis: 1*treatment = 0
#> Observations: 300
#> Bootstr. Type: rademacher
#> Clustering: 1-way
#> Confidence Sets: 95%
#> Number of Clusters: 40
#>
#> term estimate statistic p.value conf.low conf.high
#> 1 1*treatment = 0 0.079 3.983 0 0.04 0.118
```

You can install compiled versions of`fwildclusterboot`

from CRAN and the development version from R-universe (compiled) or github by following one of the steps below:

```
# from CRAN
install.packages("fwildclusterboot")
# from r-universe (windows & mac, compiled R > 4.0 required)
install.packages('fwildclusterboot', repos ='https://s3alfisc.r-universe.dev')
# dev version from github
# note: installation requires Rtools
library(devtools)
install_github("s3alfisc/fwildclusterboot")
```

To run `WildBootTests.jl`

through `fwildclusterboot`

, `Julia`

and `WildBootTests.jl`

need to be installed.

You can install Julia by following the steps described on the official `Julia`

homepage: https://julialang.org/downloads/. `WildBootTests.jl`

can then be installed via Julia’s package management system.

To install `WildBootTests.jl`

and Julia from within R, you can alternatively use the `JuliaConnectoR.utils`

package.

```
devtools::install_github("s3alfisc/JuliaConnectoR.utils")
library(JuliaConnectoR.utils)
install_julia() # install Julia
connect_julia_r() # instructions to connect Julia and R
install_julia_packages("WildBootTests.jl") # install WildBootTests.jl
set_julia_ntreads() # instructions to set nthreads for Julia
```