`surv_reg()`

is a way to generate a *specification* of a model
before fitting and allows the model to be created using
R. The main argument for the
model is:

`dist`

: The probability distribution of the outcome.

This argument is converted to its specific names at the
time that the model is fit. Other options and arguments can be
set using `set_engine()`

. If left to its default
here (`NULL`

), the value is taken from the underlying model
functions.

If parameters need to be modified, this function can be used in lieu of recreating the object from scratch.

surv_reg(mode = "regression", dist = NULL) # S3 method for surv_reg update(object, parameters = NULL, dist = NULL, fresh = FALSE, ...)

mode | A single character string for the type of model. The only possible value for this model is "regression". |
---|---|

dist | A character string for the outcome distribution. "weibull" is the default. |

object | A survival regression model specification. |

parameters | A 1-row tibble or named list with |

fresh | A logical for whether the arguments should be modified in-place of or replaced wholesale. |

... | Not used for |

The data given to the function are not saved and are only used
to determine the *mode* of the model. For `surv_reg()`

,the
mode will always be "regression".

Since survival models typically involve censoring (and require the use of
`survival::Surv()`

objects), the `fit()`

function will require that the
survival model be specified via the formula interface.

Also, for the `flexsurv::flexsurvfit`

engine, the typical
`strata`

function cannot be used. To achieve the same effect,
the extra parameter roles can be used (as described above).

For `surv_reg()`

, the mode will always be "regression".

The model can be created using the `fit()`

function using the
following *engines*:

R:

`"flexsurv"`

,`"survival"`

(the default)

Engines may have pre-set default arguments when executing the model fit call. For this type of model, the template of the fit calls are below.

surv_reg() %>% set_engine("flexsurv") %>% set_mode("regression") %>% translate()

## Parametric Survival Regression Model Specification (regression) ## ## Computational engine: flexsurv ## ## Model fit template: ## flexsurv::flexsurvreg(formula = missing_arg(), data = missing_arg(), ## weights = missing_arg())

surv_reg() %>% set_engine("survival") %>% set_mode("regression") %>% translate()

## Parametric Survival Regression Model Specification (regression) ## ## Computational engine: survival ## ## Model fit template: ## survival::survreg(formula = missing_arg(), data = missing_arg(), ## weights = missing_arg(), model = TRUE)

Note that `model = TRUE`

is needed to produce quantile predictions when
there is a stratification variable and can be overridden in other cases.

`fit()`

passes the data directly to `survival::curvreg()`

so that its
formula method can create dummy variables as-needed.

The standardized parameter names in parsnip can be mapped to their original names in each engine that has main parameters. Each engine typically has a different default value (shown in parentheses) for each parameter.

parsnip | flexsurv | survival |

dist | dist | dist |

Jackson, C. (2016). `flexsurv`

: A Platform for Parametric Survival
Modeling in R. *Journal of Statistical Software*, 70(8), 1 - 33.

#> # A tibble: 2 x 2 #> engine mode #> <chr> <chr> #> 1 flexsurv regression #> 2 survival regressionsurv_reg()#> Parametric Survival Regression Model Specification (regression) #>#> Parametric Survival Regression Model Specification (regression) #> #> Main Arguments: #> dist = varying() #>model <- surv_reg(dist = "weibull") model#> Parametric Survival Regression Model Specification (regression) #> #> Main Arguments: #> dist = weibull #>#> Parametric Survival Regression Model Specification (regression) #> #> Main Arguments: #> dist = lnorm #>