Create a list containing the parameters of a single fitted parametric or flexible parametric survival model.

`params_surv(coefs, dist, aux = NULL)`

- coefs
A list of length equal to the number of parameters in the survival distribution. Each element of the list is a matrix of samples of the regression coefficients under sampling uncertainty used to predict a given parameter. All parameters are expressed on the real line (e.g., after log transformation if they are defined as positive). Each element of the list may also be an object coercible to a matrix such as a

`data.frame`

or`data.table`

.- dist
Character vector denoting the parametric distribution. See "Details".

- aux
Auxiliary arguments used with splines, fractional polynomial, or piecewise exponential models. See "Details".

An object of class `params_surv`

, which is a list containing `coefs`

,
`dist`

, and `n_samples`

. `n_samples`

is equal to the
number of rows in each element of `coefs`

, which must be the same. The `coefs`

element is always converted into a list of matrices. The list may also contain
`aux`

if a spline, fractional polynomial, or piecewise exponential model is
used.

Survival is modeled as a function of \(L\) parameters \(\alpha_l\). Letting \(F(t)\) be the cumulative distribution function, survival at time \(t\) is given by $$1 - F(t | \alpha_1(x_{1}), \ldots, \alpha_L(x_{L})).$$ The parameters are modeled as a function of covariates, \(x_l\), with an inverse transformation function \(g^{-1}()\), $$\alpha_l = g^{-1}(x_{l}^T \beta_l).$$ \(g^{-1}()\) is typically \(exp()\) if a parameter is strictly positive and the identity function if the parameter space is unrestricted.

The types of distributions that can be specified are:

`exponential`

or`exp`

Exponential distribution.

`coef`

must contain the`rate`

parameter on the log scale and the same parameterization as in`stats::Exponential`

.`weibull`

or`weibull.quiet`

Weibull distribution. The first element of

`coef`

is the`shape`

parameter (on the log scale) and the second element is the`scale`

parameter (also on the log scale). The parameterization is that same as in`stats::Weibull`

.`weibullPH`

Weibull distribution with a proportional hazards parameterization. The first element of

`coef`

is the`shape`

parameter (on the log scale) and the second element is the`scale`

parameter (also on the log scale). The parameterization is that same as in`flexsurv::WeibullPH`

.`gamma`

Gamma distribution. The first element of

`coef`

is the`shape`

parameter (on the log scale) and the second element is the`rate`

parameter (also on the log scale). The parameterization is that same as in`stats::GammaDist`

.`lnorm`

Lognormal distribution. The first element of

`coef`

is the`meanlog`

parameter (i.e., the mean of survival on the log scale) and the second element is the`sdlog`

parameter (i.e., the standard deviation of survival on the log scale). The parameterization is that same as in`stats::Lognormal`

. The coefficients predicting the`meanlog`

parameter are untransformed whereas the coefficients predicting the`sdlog`

parameter are defined on the log scale.`gompertz`

Gompertz distribution. The first element of

`coef`

is the`shape`

parameter and the second element is the`rate`

parameter (on the log scale). The parameterization is that same as in`flexsurv::Gompertz`

.`llogis`

Log-logistic distribution. The first element of

`coef`

is the`shape`

parameter (on the log scale) and the second element is the`scale`

parameter (also on the log scale). The parameterization is that same as in`flexsurv::Llogis`

.`gengamma`

Generalized gamma distribution. The first element of

`coef`

is the location parameter`mu`

, the second element is the scale parameter`sigma`

(on the log scale), and the third element is the shape parameter`Q`

. The parameterization is that same as in`flexsurv::GenGamma`

.`survspline`

Survival splines. Each element of

`coef`

is a parameter of the spline model (i.e.`gamma_0`

,`gamma_1`

, \(\ldots\)) with length equal to the number of knots (including the boundary knots). See below for details on the auxiliary arguments. The parameterization is that same as in`flexsurv::Survspline`

.`fracpoly`

Fractional polynomials. Each element of

`coef`

is a parameter of the fractional polynomial model (i.e.`gamma_0`

,`gamma_1`

, \(\ldots\)) with length equal to the number of powers plus 1. See below for details on the auxiliary arguments (i.e.,`powers`

).`pwexp`

Piecewise exponential distribution. Each element of

`coef`

is rate parameter for a distinct time interval. The times at which the rates change should be specified with the auxiliary argument`time`

(see below for more details)
.
`fixed`

A fixed survival time. Can be used for "non-random" number generation.

`coef`

should contain a single parameter,`est`

, of the fixed survival times.

Auxiliary arguments for spline models should be specified as a list containing the elements:

`knots`

A numeric vector of knots.

`scale`

The survival outcome to be modeled as a spline function. Options are

`"log_cumhazard"`

for the log cumulative hazard;`"log_hazard"`

for the log hazard rate;`"log_cumodds"`

for the log cumulative odds; and`"inv_normal"`

for the inverse normal distribution function.`timescale`

If

`"log"`

(the default), then survival is modeled as a spline function of log time; if`"identity"`

, then it is modeled as a spline function of time.

Auxiliary arguments for fractional polynomial models should be specified as a list containing the elements:

`powers`

A vector of the powers of the fractional polynomial with each element chosen from the following set: -2. -1, -0.5, 0, 0.5, 1, 2, 3.

Auxiliary arguments for piecewise exponential models should be specified as a list containing the element:

`time`

A vector equal to the number of rate parameters giving the times at which the rate changes.

Furthermore, when splines (with `scale = "log_hazard"`

) or fractional
polynomials are used, numerical methods must be used to compute the cumulative
hazard and for random number generation. The following additional auxiliary arguments
can therefore be specified:

`cumhaz_method`

Numerical method used to compute cumulative hazard (i.e., to integrate the hazard function). Always used for fractional polynomials but only used for splines if

`scale = "log_hazard"`

. Options are`"quad"`

for adaptive quadrature and`"riemann"`

for Riemann sum.`random_method`

Method used to randomly draw from an arbitrary survival function. Options are

`"invcdf"`

for the inverse CDF and`"discrete"`

for a discrete time approximation that randomly samples events from a Bernoulli distribution at discrete times.`step`

Step size for computation of cumulative hazard with numerical integration. Only required when using

`"riemann"`

to compute the cumulative hazard or using`"discrete"`

for random number generation.

```
n <- 10
params <- params_surv(
coefs = list(
shape = data.frame(
intercept = rnorm(n, .5, .23)
),
scale = data.frame(
intercept = rnorm(n, 12.39, 1.49),
age = rnorm(n, -.09, .023)
)
),
dist = "weibull"
)
summary(params)
#> parameter term mean sd 2.5% 97.5%
#> <char> <char> <num> <num> <num> <num>
#> 1: shape intercept 0.55088444 0.20690627 0.3793033 0.9404121
#> 2: scale intercept 11.29702797 1.62742924 8.7760297 13.1101035
#> 3: scale age -0.08523438 0.02072153 -0.1221598 -0.0595469
params
#> A "params_surv" object
#>
#> Summary of coefficients:
#> parameter term mean sd 2.5% 97.5%
#> <char> <char> <num> <num> <num> <num>
#> 1: shape intercept 0.55088444 0.20690627 0.3793033 0.9404121
#> 2: scale intercept 11.29702797 1.62742924 8.7760297 13.1101035
#> 3: scale age -0.08523438 0.02072153 -0.1221598 -0.0595469
#>
#> Number of parameter samples: 10
#> Distribution: weibull
```