The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

ggplot plotting functionality

Markus Lange

August 27, 2024

library(dpasurv)

Load data and run analysis

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)

Basic plotting functionality

Single arm

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)

Multiple arm

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 plotting functionality

We can input an object of type “effect”

ggplot.effect(indirect)

Alternatively, we can provide a list of “effect” objects, for example

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

Different dose levels will be plotted on top of each other

ggplot.effect(direct2)

Also works when we plot a list of “effect” objects

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

It is possible to customize plotting parameters, for example

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

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.