Dynamic Path Analysis
dpa.Rd
Dynamic Path Analysis
Usage
dpa(
out.formula,
mediator.formulas,
id,
data,
boot.n = 200,
method = "timereg",
progress_bar = FALSE,
...
)
Arguments
- out.formula
Survival formula for Aalen's additive hazards model.
- mediator.formulas
Mediator regression formula (in case of a single mediator), or a list of regression formulas (in case of multiple mediators). The formulas must be ordered according to Directed Acyclic Graph Structure (see Details).
- id
character string indicating which column of 'data' corresponds to the subject ID. Bootstrapping will be performed on this id.
- data
Data set in counting process format. In particular the data should contain a "start", "stop" and "event" column along with any mediators and baseline covariates.
- boot.n
Number of bootstrap samples.
- method
The underlying implementation of Aalen's additive regression model. Defaults to "timereg", which relies on the timereg::aalen() implementation, while method = "aareg" uses the survival::aareg() implementation.
- progress_bar
Boolean. If TRUE, show progress bar. Defaults to FALSE.
- ...
other parameters passed to the Aalen's additive hazards model implementation. If method = "timereg", then ... will be passed to timereg::aalen(), while if method = "aareg", then ... will be passed to survival::aareg(). If ... contains parameters that don't belong to the formalArgs of the corresponding implementation then those parameters will be ignored.
Value
Object of class `dpa` with following fields:
- coefs
list of estimated coefficients from each of the regressions listed in out.formula and mediator.formulas.
- boot.coefs
list of bootstrap estimates corresponding to coefs. This stores all the bootstrap estimates to facilitate calculation of direct, indirect and total effects along with bootstrap confidence intervals.
- meta
a list keeping track of responses and covariates of each of the out.formula and mediator.formulas. Also keeps track of all variable types and level names in case of factors.
- aalen
Object storing information pertaining to the Aalen's additive model fit. Object is of class "aalen" if method="timereg", and of class "aareg" if method="aareg".
Details
dpa
performs Dynamic Path Analysis of a Directed Acyclic Graph (DAG). The out.formula
can have as covariates all mediators listed in mediator.formulas. The mediator.formulas must obey the
following DAG structure rule: The response of the k-th formula cannot appear as covariate in any of the formulas
k+1, ..., length(mediator.formulas).
Examples
library(dpasurv)
data(simdata)
set.seed(1)
# Perform dynamic path analysis:
# We set boot.n=30 for the example to run fast, should be set large enough
# so that results don't change meaningfully for different seeds.
s <- dpa(Surv(start,stop,event)~M+x, list(M~x), id="subject", data=simdata, boot.n=30)
# Calculate cumulative direct, indirect, and total effects:
direct <- effect(x ~ outcome, s)
indirect <- effect(x ~ M ~ outcome, s)
total <- sum(direct, indirect)
# Plot the effects using basic graphics:
layout1x3 <- par(mfrow=c(1,3))
plot(direct); abline(h=0, lty=2, col=2)
plot(indirect); abline(h=0, lty=2, col=2)
plot(total); abline(h=0, lty=2, col=2)
# restore user's graphical parameters:
par(layout1x3)
# Plot the effects using ggplot2 graphics:
ggplot.effect(list(direct, indirect, total))