This function constructs a diagnostic plot of the adequacy of the Weibull distribution for survival data with respect to one categorical covariate. If the Weibull distribution fits the data well, then the lines produced should be linear and parallel.

1 | ```
WeibullDiag(formula, data = parent.frame(), labels = rownames(np$X))
``` |

`formula` |
A formula containing a |

`data` |
Data set. |

`labels` |
A vector containing labels for the plotted lines. |

As discussed in Klein and Moeschberger (2003), one method for checking the adequacy of the Weibull model with a
categorical covariate is to produce stratified Kaplan-Meier estimates (KM), which can be transformed to estimate
the log cumulative hazard for each stratum. Then in a plot of *\log(t)* versus *\log(-\log(KM))*, the
lines should be linear and parallel. This can be seen as the log cumulative hazard for the Weibull distribution
is

*\log H(t) = \log λ + α \log t.*

Produces a plot of log Time vs. log Estimated Cumulative Hazard for each level of the predictor
(similarly to what can be obtained using `plot.survfit`

and the `fun = "cloglog"`

option),
as well as a data set containing that information.

Sarah R. Haile

Klein, J. and Moeschberger, M. (2003). *Survival analysis: techniques for censored and truncated data*.
Springer.

Requires packages survival and prodlim. A similar plot can be produced using `plot.survfit`

and
the option `fun = "cloglog"`

.

1 2 3 4 5 | ```
if (requireNamespace("prodlim")) {
data(larynx)
fm <- Surv(time, death) ~ stage
WeibullDiag(fm, larynx, labels=c("Stage I", "Stage II","Stage III", "Stage IV"))
}
``` |

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.

All documentation is copyright its authors; we didn't write any of that.