## ---- include = FALSE---------------------------------------------------------
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)

## ----setup--------------------------------------------------------------------
library(dpasurv)

## -----------------------------------------------------------------------------
data(simdata)

set.seed(1)

# Perform dynamic path analysis
s <- dpa(Surv(start,stop,event)~M+x, list(M~x), id="subject", data=simdata, boot.n=500)

# Calculate direct, indirect and total effects
direct <- effect(x ~ outcome, s)
indirect <- effect(x ~ M ~ outcome, s)
total <- sum(direct, indirect)

# Perform dynamic path analysis under multiple treatment arms:
s2 <- dpa(Surv(start,stop,event)~M+dose, list(M~dose), id="subject", data=simdata, boot.n=500)

# Calculate corresponding direct, indirect and total effects
direct2 <- effect(dose ~ outcome, s2)
indirect2 <- effect(dose ~ M ~ outcome, s2)
total2 <- sum(direct2, indirect2)

## -----------------------------------------------------------------------------
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)

## ---- eval=FALSE--------------------------------------------------------------
#  layout2x3 <- par(mfrow=c(2,3))
#  plot(direct2); abline(h=0, lty=2, col=2)
#  plot(indirect2); abline(h=0, lty=2, col=2)
#  plot(total2); abline(h=0, lty=2, col=2)
#  
#  # restore user's graphical parameters:
#  par(layout2x3)

## -----------------------------------------------------------------------------
ggplot.effect(indirect)

## -----------------------------------------------------------------------------
ggplot.effect(list(direct, indirect, total))

## -----------------------------------------------------------------------------
ggplot.effect(direct2)

## -----------------------------------------------------------------------------
ggplot.effect(list(direct2, indirect2, total2))

## -----------------------------------------------------------------------------
ggplot.effect(list(direct, indirect, total), 
              titles = c("Direct","Indirect","Total"),
              x_label = "Time (in years)", 
              y_label = "Custom y-label")