drord {drord} | R Documentation |
Doubly robust estimates of for evaluating effects of treatments on ordinal outcomes.
Description
The available parameters for evaluating treatment efficacy are:
Difference in (weighted) means: The outcome levels are treated numerically, with each level possibly assigned a weight. The difference in average outcomes is computed.
Log odds ratio: The comparison describes the average log-odds (treatment level 1 versus 0) of the cumulative probability for each level of the outcome.
Mann-Whitney: The probability that a randomly-selected individual receiving treatment 1 will have a larger outcome value than a randomly selected individual receiving treatment 0 (with ties assigned weight 1/2).
Usage
drord(
out,
treat,
covar,
out_levels = sort(unique(out)),
out_form = paste0(colnames(covar), collapse = "+"),
out_weights = rep(1, length(out_levels)),
out_model = "pooled-logistic",
treat_form = "1",
param = c("weighted_mean", "log_odds", "mann_whitney"),
ci = "wald",
alpha = 0.05,
nboot = 1000,
return_models = TRUE,
est_dist = TRUE,
stratify = FALSE,
...
)
Arguments
out |
A |
treat |
A |
covar |
A |
out_levels |
A |
out_form |
The right-hand side of a regression formula for the working proportional odds model. NOTE: THIS FORMULA MUST NOT SUPPRESS THE INTERCEPT. |
out_weights |
A vector of |
out_model |
Which R function should be used to fit the proportional odds
model. The recommended option is |
treat_form |
The right-hand side of a regression formula for the working model of treatment probability as a function of covariates |
param |
A vector of |
ci |
A vector of |
alpha |
Confidence intervals have nominal level 1- |
nboot |
Number of bootstrap replicates used to compute bootstrap confidence intervals. |
return_models |
If |
est_dist |
A |
stratify |
If |
... |
Other options (not currently used). |
Details
In each case, estimates are constructed by obtaining a doubly robust estimate of the cumulative distribution function (CDF) for each treatment group. This is achieved by fitting a (working) proportional odds model that includes inverse probability of treatment weights. The inclusion of these weights ensures that, so long as the working model includes intercept terms, the resultant estimate of the CDF is an augmented inverse probability of treatment weighted estimate. This implies that the estimate is nonparametric efficient if the working model contains the truth; however, even if the working model does not contain the truth, the CDF estimates are consistent and asymptotically normal with variance expected to dominate that of an unadjusted estimate of the same treatment effect.
The CDF estimates are subsequently mapped into estimates of each requested
parameter for evaluating treatment effects. The double robustness and efficiency
properties of the CDF estimates extend to these quantities as well. Confidence
intervals and hypothesis tests can be carried out in closed form using Wald-style
intervals and tests or using a nonparametric corrected and accelerated bootstrap
(BCa). Inference for the CDF and probability mass function is also returned and
can be used for subsequent visualizations (see plot.drord
).
Value
An object of class drord
. In addition to information related to
how drord
was called, the output contains the following:
- log_odds
inference pertaining to the log-odds parameter.
NULL
if this parameter not requested in call todrord
.- mann_whitney
inference pertaining to the Mann-Whitney parameter.
NULL
if this parameter not requested in call todrord
.- weighted_mean
inference pertaining to weighted mean parameter.
NULL
if this parameter not requested in call todrord
.- cdf
inference pertaining to the treatment-specific CDFs. See the
plot
method for a convenient way of visualizing this information.NULL
ifest_dist = FALSE
in call todrord
.- pmf
inference pertaining to the treatment-specific PMFs. See the
plot
method for a convenient way of visualizing this information.NULL
ifest_dist = FALSE
in call todrord
.- treat_mod
the fitted model for the probability of treatment as a function of covariates.
NULL
ifreturn_models = FALSE
- out_mod
the proportional odds model fit in each treatment arm. named entries in list indicate the corresponding treatment arm.
NULL
ifreturn_models = FALSE
orstratify = TRUE
.
Examples
data(covid19)
# get estimates of all parameters based on main-effects
# proportional odds model and intercept-only propensity model
fit <- drord(out = covid19$out, treat = covid19$treat,
covar = covid19[, "age_grp", drop = FALSE])
# get estimates of all parameters based on proportional odds and
# propensity model that treats age_grp as categorical
fit2 <- drord(out = covid19$out, treat = covid19$treat,
covar = covid19[, "age_grp", drop = FALSE],
out_form = "factor(age_grp)",
treat_form = "factor(age_grp)")
# obtain estimator stratified by age group
fit3 <- drord(out = covid19$out, treat = covid19$treat,
covar = covid19[, "age_grp", drop = FALSE],
stratify = TRUE)
# demonstration with missing outcome data
covid19$out[1:5] <- NA
# propensity model should now adjust for covariates to address
# the potential for informative missingness
fit4 <- drord(out = covid19$out, treat = covid19$treat,
covar = covid19[, "age_grp", drop = FALSE],
treat_form = "age_grp")