This function estimates the marginal cumulative incidence for failures of
specified types using targeted minimum loss-based estimation based on the
G-computation representation of cumulative incidence. The function is called
by survtmle whenever method = "mean" is specified. However,
power users could, in theory, make calls directly to this function.
mean_tmle(ftime, ftype, trt, t0 = max(ftime[ftype > 0]),
adjustVars = NULL, SL.ftime = NULL, SL.ctime = NULL,
SL.trt = NULL, glm.ftime = NULL, glm.ctime = NULL, glm.trt = "1",
glm.family = "binomial", returnIC = TRUE, returnModels = FALSE,
ftypeOfInterest = unique(ftype[ftype != 0]),
trtOfInterest = unique(trt), bounds = NULL, verbose = FALSE,
Gcomp = FALSE, gtol = 0.001, ...)A numeric vector of failure times. Right-censored observations
should have corresponding ftype set to 0.
A numeric vector indicating the type of failure. Observations
with ftype=0 are treated as a right-censored observation. Each
unique value besides zero is treated as a separate type of failure.
A numeric vector indicating observed treatment assignment. Each unique value will be treated as a different type of treatment. Currently, only two unique values are supported.
The time at which to return cumulative incidence estimates. By
default this is set to max(ftime[ftype > 0]).
A data.frame of adjustment variables that will be
used in estimating the conditional treatment, censoring, and failure
(hazard or conditional mean) probabilities.
A character vector or list specification to be passed to the
SL.library option in the call to SuperLearner for the
outcome regression (either cause-specific hazards or iterated mean).
See ?SuperLearner for more information on how to specify valid
SuperLearner libraries. It is expected that the wrappers used
in the library will play nicely with the input variables, which will
be called "trt", names(adjustVars), and "t" (if
method = "hazard").
A character vector or list specification to be passed to the
SL.library argument in the call to SuperLearner for the
estimate of the conditional hazard for censoring. It is expected that
the wrappers used in the library will play nicely with the input
variables, which will be called "trt" and
names(adjustVars).
A character vector or list specification to be passed to the
SL.library argument in the call to SuperLearner for the
estimate of the conditional probability of treatment. It is expected
that the wrappers used in the library will play nicely with the input
variables, which will be names(adjustVars).
A character specification of the right-hand side of the
equation passed to the formula option of a call to glm
for the outcome regression. Ignored if SL.ftime is not equal to
NULL. Use "trt" to specify the treatment in this formula
(see examples). The formula can additionally include any variables
found in names(adjustVars).
A character specification of the right-hand side of the
equation passed to the formula option of a call to glm
for the estimate of the conditional hazard for censoring. Ignored if
SL.ctime is not equal to NULL. Use "trt" to
specify the treatment in this formula (see examples). The formula can
additionally include any variables found in names(adjustVars).
A character specification of the right-hand side of the
equation passed to the formula option of a call to glm
for the estimate of the conditional probability of treatment. Ignored
if SL.trt is not equal to NULL. The formula can include
any variables found in names(adjustVars).
The type of regression to be performed if fitting GLMs in
the estimation and fluctuation procedures. The default is "binomial"
for logistic regression. Only change this from the default if there
are justifications that are well understood. This is passed directly
to estimateCensoring.
A boolean indicating whether to return vectors of influence
curve estimates. These are needed for some post-hoc comparisons, so it
is recommended to leave as TRUE (the default) unless the user
is sure these estimates will not be needed later.
A boolean indicating whether to return the
SuperLearner or glm objects used to estimate the
nuisance parameters. Must be set to TRUE if the user plans to
use timepoints to obtain estimates of incidence at times other
than t0. See ?timepoints for more information.
An input specifying what failure types to compute
estimates of incidence for. The default value computes estimates for
values unique(ftype). Can alternatively be set to a vector of
values found in ftype.
An input specifying which levels of trt are of
interest. The default value computes estimates for values
unique(trt). Can alternatively be set to a vector of values
found in trt.
A data.frame of bounds on the conditional hazard
function (if method = "hazard") or on the iterated conditional
means (if method = "mean"). The data.frame should have a
column named "t" that includes values 1:t0. The other
columns should be names paste0("l",j) and paste0("u",j)
for each unique failure type label j, denoting lower and upper bounds,
respectively. See examples.
A boolean indicating whether the function should print
messages to indicate progress. If SuperLearner is called
internally, this option will additionally be passed to
SuperLearner.
A boolean indicating whether to compute the G-computation
estimator (i.e., a substitution estimator with no targeting step).
Theory does not support inference for the G-computation estimator if
Super Learner is used to estimate failure and censoring distributions.
The G-computation is only implemented if method = "mean".
The truncation level of predicted censoring survival. Setting to larger values can help performance in data sets with practical positivity violations.
Other options. Not currently used.
An object of class survtmle.
The call to survtmle.
A numeric vector of point estimates -- one for each combination of
ftypeOfInterest and trtOfInterest.
A covariance matrix for the point estimates.
The empirical mean of the efficient influence function at the estimated, targeted nuisance parameters. Each value should be small or the user will be warned that excessive finite-sample bias may exist in the point estimates.
The efficient influence function at the estimated, fluctuated nuisance parameters, evaluated on each of the observations. These are used to construct confidence intervals for post-hoc comparisons.
If returnModels=TRUE the fit object(s) for the call to
glm or SuperLearner for the outcome regression
models. If method="mean" this will be a list of length
length(ftypeOfInterest) each of length t0 (one
regression for each failure type and for each timepoint). If
method="hazard" this will be a list of length
length(ftypeOfInterest) with one fit corresponding to
the hazard for each cause of failure. If
returnModels = FALSE, this entry will be NULL.
If returnModels = TRUE the fit object for the call to
glm or SuperLearner for the pooled hazard
regression model for the censoring distribution. If
returnModels = FALSE, this entry will be NULL.
If returnModels = TRUE the fit object for the call to
glm or SuperLearner for the conditional
probability of trt regression model. If
returnModels = FALSE, this entry will be NULL.
The timepoint at which the function was evaluated.
The numeric vector of failure times used in the fit.
The numeric vector of failure types used in the fit.
The numeric vector of treatment assignments used in the fit.
The data.frame of failure times used in the fit.
# NOT RUN {
## Single failure type examples
# simulate data
set.seed(1234)
n <- 100
trt <- rbinom(n,1,0.5)
adjustVars <- data.frame(W1 = round(runif(n)), W2 = round(runif(n, 0, 2)))
ftime <- round(1 + runif(n, 1, 4) - trt + adjustVars$W1 + adjustVars$W2)
ftype <- round(runif(n, 0, 1))
# Fit 1 - fit mean_tmle object with GLMs for treatment, censoring, failure
fit1 <- mean_tmle(ftime = ftime, ftype = ftype,
trt = trt, adjustVars = adjustVars,
glm.trt = "W1 + W2",
glm.ftime = "trt + W1 + W2",
glm.ctime = "trt + W1 + W2")
# }
Run the code above in your browser using DataLab