Installing Supporting Packages
Noah Greifer
2024-09-04
Source:vignettes/installing-packages.Rmd
installing-packages.Rmd
WeightIt
is a wrapper for several other packages that
aid in estimating balancing weights. In many ways, this is
WeigthIt
’s strength, because it is easy to try out several
weighting methods without having to learn a completely new syntax for
each one. One weakness of this is that when one of these packages is not
available (e.g., on CRAN), the method that relies on that package cannot
be used.
This document explains how to install each package
WeightIt
uses. You do not need to install every single one;
you only need the one you want to use. For example, the
miseam
package provides support for logistic regression
with missing data, but if you have no missing data or you don’t want to
use the approach implemented in miseam
, you don’t need to
install it. WeightIt
strongly depends on a few packages,
which are automatically installed along with WeightIt
, so
you don’t need to worry about installing them separately; these are not
listed here.
Below we note each method (by name and by the input to the
method
argument of weightit()
) and how to
install the required packages either from CRAN or otherwise when the
CRAN version is not available. In many cases, this involves installing
the package from the author’s GitHub repository, which requires either
the remotes
or devtools
package, which both
contain the function install_github()
.
Propensity score weighting using GLMs
(method = "glm"
)
Several options are available for estimating propensity score weights
using GLMs depending on the treatment type and other features of the
desired model. For binary treatments, weightit()
uses
stats::glm()
by default, and for continuous treatments,
weightit()
uses stats::lm()
by default, so no
additional packages are required. For multi-category treatments with
multi.method = "weightit"
, the default,
weightit()
uses internal code.
missing = "saem"
When missing data is present and missing = "saem"
is
supplied, the misaem
package is required. To install
misaem
from CRAN, run
install.packages("misaem")
If misaem
is not on CRAN, or if you want to install the
development version from source, you can do so from the developer’s GitHub repo using the
following code:
remotes::install_github("julierennes/misaem")
Binary and multi-category treatments with
link = "br.logit"
For binary and multi-category treatments, when link
is
supplied as "br.logit"
or another link beginning with
"br."
, the brglm2
package is required. To
install brglm2
from CRAN, run
install.packages("brglm2")
If brglm2
is not on CRAN, or if you want to install the
development version from source, you can do so from the developer,
Ioannis Kosmidis’s, GitHub
repo using the following code:
remotes::install_github("ikosmidis/brglm2")
brglm2
requires compilation, which means you may need
additional software installed on your computer to install it from
source.
Multi-category treatments with
multi.method = "mclogit"
For multi-category treatments, when
multi.method = "mclogit"
, the mclogit
package
is required for multinomial logistic regression. To install
mclogit
from CRAN, run
install.packages("mclogit")
If mclogit
is not on CRAN, or if you want to install the
development version from source, you can do so from the developer,
Martin Elff’s, GitHub
repo using the following code:
remotes::install_github("melff/mclogit")
Multi-category treatments with
multi.method = "mnp"
For multi-category treatments, when
multi.method = "mnp"
, the MNP
package is
required for Bayesian multinomial probit regression. To install
MNP
from CRAN, run
install.packages("MNP")
If MNP
is not on CRAN, or if you want to install the
development version from source, you can do so from the developer,
Kosuke Imai’s, GitHub
repo using the following code:
remotes::install_github("kosukeimai/MNP")
MNP
requires compilation, which means you may need
additional software installed on your computer to install it from
source.
Propensity Score weighting using GBM
(method = "gbm"
)
WeightIt
uses the R package gbm
to estimate
propensity score weights using GBM. It does not rely on the
twang
package at all. To install gbm
from
CRAN, run
install.packages("gbm")
If gbm
is not on CRAN, or if you want to install the
development version from source, you can do so from the developer’s GitHub repo using the
following code:
remotes::install_github("gbm-developers/gbm")
gbm
requires compilation, which means you may need
additional software installed on your computer to install it from
source.
Covariate Balancing Propensity Score weighting
(method = "cbps"
)
For method = "cbps"
, WeightIt
uses code
written for WeightIt
, so no additional packages need to be
installed to use CBPS.
Nonparametric Covariate Balancing Propensity Score weighting
(method = "npcbps"
)
For method = "npcbps"
, WeightIt
uses the R
package CBPS
to perform nonparametric covariate balancing
propensity score weighting. To install CBPS
from CRAN,
run
install.packages("CBPS")
If CBPS
is not on CRAN, or if you want to install the
development version from source, you can do so from the developer,
Kosuke Imai’s, GitHub
repo using the following code:
remotes::install_github("kosukeimai/CBPS")
Entropy balancing (method = "ebal"
)
WeightIt
uses code written for WeightIt
, so
no additional packages need to be installed to use entropy
balancing.
Inverse probability tilting (method = "ipt"
)
WeightIt
uses the R package rootSolve
to
perform the root finding required for inverse probability tilting. To
install rootSolve
from CRAN, run
install.packages("rootSolve")
Empirical balancing calibration weighting
(method = "ebcw"
)
Empirical balancing calibration weighting is no longer available with
WeightIt
. Use entropy balancing, which in most cases is
mathematically identical.
Optimization-based weighting
(method = "optweight"
)
WeightIt
uses the R package optweight
to
perform optimization-based weighting. To install optweight
from CRAN, run
install.packages("optweight")
If optweight
is not on CRAN, or if you want to install
the development version from source, you can do so from the developer,
Noah Greifer’s (my), GitHub repo using the
following code:
remotes::install_github("ngreifer/optweight")
optweight
depends on the osqp
package,
which requires compilation, which means you may need additional software
installed on your computer to install it from source.
Propensity score weighting using SuperLearner
(method = "super"
)
WeightIt
uses the R package SuperLearner
to
estimate propensity score weights using SuperLearner. To install
SuperLearner
from CRAN, run
install.packages("SuperLearner")
If SuperLearner
is not on CRAN, or if you want to
install the development version from source, you can do so from the
developer, Eric Polley’s, GitHub repo using
the following code:
remotes::install_github("ecpolley/SuperLearner")
SuperLearner
itself is a wrapper for many other
packages. The whole point of using SuperLearner is to include many
different machine learning algorithms to combine them into a
well-fitting stacked model. These algorithms exist in many different R
packages, which each need to be installed to use them. See the Suggested
packages on the SuperLearner
CRAN page to
see which packages might be used with SuperLearner
.
There are additional functions for use with SuperLearner
in the SuperLearnerExtra
repository. To
read these into your R session to be used with
method = "super"
, use source()
on the raw text
file URL. For example, to read in the code for SL.dbarts
,
run
source("https://raw.githubusercontent.com/ecpolley/SuperLearnerExtra/master/SL/SL.dbarts.R")
Propensity score weighting using BART
(method = "bart"
)
WeightIt
uses the R package dbarts
to
estimate propensity score weights using BART. To install
dbarts
from CRAN, run
install.packages("dbarts")
If dbarts
is not on CRAN, or if you want to install the
development version from source, you can do so from the developer,
Vincent Dorie’s, GitHub
repo using the following code:
remotes::install_github("vdorie/dbarts")
dbarts
requires compilation, which means you may need
additional software installed on your computer to install it from
source.
Energy Balancing (method = "energy"
)
WeightIt
uses the R package osqp
to perform
the optimization required for energy balancing. To install
osqp
from CRAN, run
install.packages("osqp")
If osqp
is not on CRAN, or if you want to install the
development version from source, you can do so from the developer’s site
using the instructions given here, though it is a
bit more involved than other installations from source.