| fit.nonpar {causalCmprsk} | R Documentation |
Nonparametric estimation of ATE corresponding to the target population
Description
Implements nonparametric estimation (based on the weighted Aalen-Johansen estimator) of ATE meaning that it does not assume any model for potential outcomes. It provides three measures of treatment effects on time-to-event outcomes: (1) cause-specific hazard ratios which are time-dependent measures under a nonparametric model, (2) risk-based measures such as cause-specific risk differences and cause-specific risk ratios, and (3) restricted-mean-time differences which quantify how much time on average was lost (or gained) due to treatment by some specified time point. Please see our package vignette for more details.
Usage
fit.nonpar(
df,
X,
E,
trt.formula,
A,
C = NULL,
wtype = "unadj",
cens = 0,
conf.level = 0.95,
bs = FALSE,
nbs.rep = 400,
seed = 17,
parallel = FALSE,
verbose = FALSE
)
Arguments
df |
a data frame that includes time-to-event |
X |
a character string specifying the name of the time-to-event variable in |
E |
a character string specifying the name of the "event type" variable in |
trt.formula |
a formula expression, of the form |
A |
a character specifying the name of the treatment/exposure variable.
It is assumed that |
C |
a vector of character strings with variable names (potential confounders)
in the logistic regression model for Propensity Scores, i.e. P(A=1|C=c).
The default value of |
wtype |
a character string variable indicating the type of weights that will define the target population for which the ATE will be estimated. The default is "unadj" - this will not adjust for possible treatment selection bias and will not use propensity scores weighting. It can be used, for example, in data from a randomized controlled trial (RCT) where there is no need for emulation of baseline randomization. Other possible values are "stab.ATE", "ATE", "ATT", "ATC" and "overlap". See Table 1 from Li, Morgan, and Zaslavsky (2018). "stab.ATE" is defined as P(A=a)/P(A=a|C=c) - see Hernán et al. (2000). |
cens |
an integer value in |
conf.level |
the confidence level that will be used in the bootstrap confidence intervals. The default is 0.95 |
bs |
a logical flag indicating whether to perform bootstrap in order to obtain confidence intervals. There are no
analytical confidence intervals in |
nbs.rep |
number of bootstrap replications |
seed |
the random seed for the bootstrap, in order to make the results reproducible |
parallel |
a logical flag indicating whether to perform bootstrap sequentially or in parallel, using several cores simultaneously. The default value is FALSE. In parallel execution, the number of available cores is detected, and the parallel jobs are assigned to the number of detected available cores minus one. |
verbose |
a logical flag indicating whether to show a progress of bootstrap. The progress bar is shown only for sequential bootstrap computation. The default value is FALSE. |
Value
A list of class cmprsk with the following fields:
time | |
| a vector of time points for which all the parameters are estimated | |
trt.0 | |
a list of estimates of the absolute counterfactual parameters
corresponding to A=0 and the type of event E. trt.0 has the number of
fields as the number of different types of events in the data set.
For each type of event there is a list of estimates: |
|
CumHaza vector of cumulative hazard estimatesCIFa vector of cumulative incidence functions (CIF)RMTa vector of restricted mean time (RMT) estimatesCumHaz.CI.La vector of bootstrap-based quantile estimate of lower confidence limits for cumulative hazard estimatesCumHaz.CI.Ua vector of bootstrap-based quantile estimate of upper confidence limits for cumulative hazard estimatesCumHaz.SEa vector of the bootstrap-based estimated standard errors of cumulative hazard estimatesCIF.CI.La vector of bootstrap-based quantile estimate of lower confidence limits for CIF estimatesCIF.CI.Ua vector of bootstrap-based quantile estimate of upper confidence limits for CIF estimatesCIF.SEa vector of bootstrap-based estimated standard error of CIF estimatesRMT.CI.La vector of bootstrap-based quantile estimate of lower confidence limits for RMT estimatesRMT.CI.Ua vector of bootstrap-based quantile estimate of upper confidence limits for RMT estimatesRMT.SEa vector of the bootstrap-based estimated standard errors of RMT estimatesbs.CumHaza matrix of dimensionnbs.repby the length oftimevector, with cumulative hazard estimates fornbs.repbootstrap samples
trt.1 | |
a list of estimates of the absolute counterfactual parameters
corresponding to A=1 and the type of event E. trt.1 has the number of
fields as the number of different types of events in the data set.
For each type of event there is a list of estimates: |
|
CumHaza vector of cumulative hazard estimatesCIFa vector of cumulative incidence functionsRMTa vector of restricted mean time estimatesCumHaz.CI.La vector of bootstrap-based quantile estimate of lower confidence limits for cumulative hazard estimatesCumHaz.CI.Ua vector of bootstrap-based quantile estimate of upper confidence limits for cumulative hazard estimatesCumHaz.SEa vector of the bootstrap-based estimated standard errors of cumulative hazard estimatesCIF.CI.La vector of bootstrap-based quantile estimate of lower confidence limits for CIF estimatesCIF.CI.Ua vector of bootstrap-based quantile estimate of upper confidence limits for CIF estimatesCIF.SEa vector of bootstrap-based estimated standard error for CIF estimatesRMT.CI.La vector of bootstrap-based quantile estimate of lower confidence limits for RMT estimatesRMT.CI.Ua vector of bootstrap-based quantile estimate of upper confidence limits for RMT estimatesRMT.SEa vector of the bootstrap-based estimated standard errors of the RMT estimatesbs.CumHaza matrix of dimensionnbs.repby the length oftimevector, with cumulative hazard estimates fornbs.repbootstrap samples
trt.eff | |
a list of estimates of the treatment effect measures
corresponding to the type of event E. trt.eff has the number of
fields as the number of different types of events in the data set.
For each type of event there is a list of estimates: |
log.CumHazRa vector of the log of the time-varying ratio of hazards in two treatment armsRDa vector of time-varying Risk Difference between two treatment armsRRa vector of time-varying Risk Ratio between two treatment armsATE.RMTa vector of the time-varying Restricted Mean Time Difference between two treatment armslog.CumHazR.CI.La vector of bootstrap-based quantile estimates of the lower confidence limits oflog.CumHazRlog.CumHazR.CI.Ua vector of bootstrap-based quantile estimates of the upper confidence limits oflog.CumHazRlog.CumHazR.SEa vector of bootstrap-based estimated standard errors oflog.CumHazRRD.CI.La vector of bootstrap-based quantile estimates of the lower confidence limits of the Risk Difference estimatesRD.CI.Ua vector of bootstrap-based quantile estimate of the upper confidence limits of the Risk Difference estimatesRD.SEa vector of the bootstrap-based estimated standard errors of the Risk DifferenceRR.CI.La vector of bootstrap-based quantile estimates of the lower confidence limits of the Risk Ratio estimatesRR.CI.Ua vector of bootstrap-based quantile estimate of the upper confidence limits of the Risk Ratio estimatesRR.SEa vector of the bootstrap-based estimated standard errors of the Risk RatioATE.RMT.CI.La vector of bootstrap-based quantile estimate of lower confidence limits for the RMT difference estimatesATE.RMT.CI.Ua vector of bootstrap-based quantile estimate of upper confidence limits for the RMT difference estimatesATE.RMT.SEa vector of bootstrap-based estimated standard errors of the RMT difference estimates
References
F. Li, K.L. Morgan, and A.M. Zaslavsky. 2018. Balancing Covariates via Propensity Score Weighting. Journal of the American Statistical Association 113 (521): 390–400.
M.A. Hernán, B. Brumback, and J.M. Robins. 2000. Marginal structural models and to estimate the causal effect of zidovudine on the survival of HIV-positive men. Epidemiology, 11 (5): 561-570.
See Also
fit.cox, get.pointEst, causalCmprsk
Examples
# create a data set
n <- 1000
set.seed(7)
c1 <- runif(n)
c2 <- as.numeric(runif(n)< 0.2)
set.seed(77)
cf.m.T1 <- rweibull(n, shape=1, scale=exp(-(-1 + 2*c1)))
cf.m.T2 <- rweibull(n, shape=1, scale=exp(-(1 + 1*c2)))
cf.m.T <- pmin( cf.m.T1, cf.m.T2)
cf.m.E <- rep(0, n)
cf.m.E[cf.m.T1<=cf.m.T2] <- 1
cf.m.E[cf.m.T2<cf.m.T1] <- 2
set.seed(77)
cf.s.T1 <- rweibull(n, shape=1, scale=exp(-1*c1 ))
cf.s.T2 <- rweibull(n, shape=1, scale=exp(-2*c2))
cf.s.T <- pmin( cf.s.T1, cf.s.T2)
cf.s.E <- rep(0, n)
cf.s.E[cf.s.T1<=cf.s.T2] <- 1
cf.s.E[cf.s.T2<cf.s.T1] <- 2
exp.z <- exp(0.5 + 1*c1 - 1*c2)
pr <- exp.z/(1+exp.z)
TRT <- ifelse(runif(n)< pr, 1, 0)
X <- ifelse(TRT==1, cf.m.T, cf.s.T)
E <- ifelse(TRT==1, cf.m.E, cf.s.E)
covs.names <- c("c1", "c2")
data <- data.frame(X=X, E=E, TRT=TRT, c1=c1, c2=c2)
form.txt <- paste0("TRT", " ~ ", paste0(covs.names, collapse = "+"))
trt.formula <- as.formula(form.txt)
wei <- get.weights(formula=trt.formula, data=data, wtype = "overlap")
hist(wei$ps[data$TRT==1], col="red", breaks = seq(0,1,0.05))
hist(wei$ps[data$TRT==0], col="blue", breaks = seq(0,1,0.05))
# Nonparametric estimation:
res.ATE <- fit.nonpar(df=data, X="X", E="E", trt.formula=trt.formula, wtype="stab.ATE")
nonpar.pe <- get.pointEst(res.ATE, 0.5)
nonpar.pe$trt.eff[[1]]$RD
# please see our package vignette for practical examples