Compute the difference in the restricted mean survival times between two covariate values (e.g. treatment groups).

## Usage

```
irmst(
x,
t,
newdata = NULL,
newdata0 = NULL,
wane_period = NULL,
wane_nt = 10,
niter = NULL,
summ_fns = NULL,
sample = FALSE
)
```

## Arguments

- x
A fitted model object as returned by

`survextrap`

- t
Vector of times. The restricted mean survival time up to each one of these times will be computed.

- newdata
A data frame with two rows. The result will be the restricted mean for the covariates in the second row, minus the restricted mean for the covariates in the first row. If

`newdata`

is omitted for models where the only covariate is a factor with two levels, then this is taken from these levels. Otherwise`newdata`

must be supplied explicitly.- newdata0
Data frame of covariate values defining the "untreated" group for use in treatment waning models. See

`Survmspline_wane`

.- wane_period
Vector of two numbers, defining the time period over which the hazard is interpolated between the hazard of the "treated" group (taken from

`newdata`

) and the hazard of the "untreated" group (taken from`newdata0`

). Optional - if this is not supplied, then no waning is assumed.- wane_nt
Number of intervals defining the piecewise constant approximation to the hazard during the waning period.

- niter
Number of MCMC iterations to use to compute credible intervals. Set to a low value to make this function quicker, at the cost of some approximation error (which may not be important for plotting or model development).

- summ_fns
A list of functions to use to summarise the posterior sample. This is passed to

`posterior::summarise_draws`

. By default this is`list(median=median, ~quantile(.x, probs=c(0.025, 0.975)))`

. If the list is named, then the names will be used for the columns of the output.- sample
If

`TRUE`

then an MCMC sample is returned from the posterior of the output, rather than summary statistics.

## Value

A data frame (tibble) with each row containing posterior summary statistics for a particular time and covariate value.

Or if `sample=TRUE`

, an array with dimensions
`length(t)`

, `niter`

, `nrow(newdata)`

, giving the
incremental RMST evaluated at different times, MCMC iterations and covariate
values respectively.

## Details

The posterior distribution is obtained by calling
`rmst`

for each group, obtaining each posterior sample
from the `"sample"`

attribute, and taking the difference to
get a posterior sample for the difference.