srpmodel {oncomsm} | R Documentation |
A stable-response-progression model
Description
create_model()
takes one or more prior-specifications for an
SRP multi-state model and combines them into a single model object.
Groups are still treated as independent.
Usage
define_srp_prior(
p_mean = 0.5,
p_n = 3,
p_eta = 0,
p_min = 0,
p_max = 1,
median_t_q05 = c(1, 1, 1),
median_t_q95 = c(60, 60, 60),
shape_q05 = rep(0.9, 3),
shape_q95 = rep(2.5, 3),
visit_spacing = 1,
recruitment_rate = 1
)
create_srpmodel(
...,
maximal_time = 10 * 12,
states = c("stable", "response", "progression"),
censored = "EOF"
)
Arguments
p_mean |
numeric, mean of the beta prior for the response probability |
p_n |
numeric, beta prior equivalent sample size (a + b) |
p_eta |
numeric, robustification parameter for beta prior; actual prior is (1 - eta) beta + eta; i.e., eta is the non-informative weight. |
p_min |
numeric, minimal response probability |
p_max |
numeric, maximal response probability |
median_t_q05 |
numeric of length three, 5% quantiles of the log-normal distributions for the median time-to-next-event for the three transitions s->r, s->p, r->p. |
median_t_q95 |
numeric of length three, 95% quantiles of the log-normal distributions for the median time-to-next-event for the three transitions s->r, s->p, r->p. |
shape_q05 |
numeric of length three, 5% quantiles of the log-normal distributions for the shapes of the time-to-next-event distributions for the three transitions s->r, s->p, r->p. |
shape_q95 |
numeric of length three, 95% quantiles of the log-normal distributions for the shapes of the time-to-next-event distributions for the three transitions s->r, s->p, r->p. |
visit_spacing |
numeric, fixed duration between visits |
recruitment_rate |
numeric, constant recruitment rate |
... |
named |
maximal_time |
the maximal overall runtime of the trial as measured from the first visit of any group. No visits past this point are sampled. |
states |
character vector of three states (initial, intermediate, terminal) |
censored |
string, indicator of premature censoring events; no data is imputed after this point. |
Details
define_srp_prior()
specifies a prior distribution for a
three state model (stable, response, progression) for
a single group.
Value
define_srp_prior()
returns an object of class srp_prior
,
all inputs are accessible via
$x
where x
is the name of the input argument in the function call except
for the two parameters visit_spacing
and recruitment_rate
.
These two parameters are saved as attributes
and can be retrieved directly using attr(mdl, "visit_spacing")
and
attr(mdl, "recruitment_rate")
.
create_srpmodel()
returns an object of class c("srpmodel", "list")
that
holds information about potentially multiple groups in a compact format and
can be accessed using the list operator $name
.
group_id
is a character vector with the group names,
maximal_time
is the maximal follow-up time since the first visit in the
study, visit_spacing
is the vector of per-group difference between visits
(only relevant for forward sampling), recruitment_rate
is the vector of
per-group recruitment rates, stan_model
is the pre-compiled 'stan' model
used for inference, states
is the vector of state names in the multi-state
model, and prior
is a list of hyperparamters for the model prior with
elements p
, vector, for the response probability per group,
median_t
is an c(n_groups, 3, 2)
dimensional array where
median_t[i,j,1]
holds the 5% quantile of the the lognormal prior on median transition time
for group i
and transition j
and median_t[i,j,2]
the corresponding
upper 95% quantile. The shape
hyperparamter has the same format and
specified the corresponding quantiles for the Weibull shape parameter.
Examples
# a model with prior 25% response rate and variance equivalent to
# 10 data points (i.e. a Beta(2.5, 7.5) distribution).
grp <- define_srp_prior(p_mean = 0.25, p_n = 10)
attr(grp, "recruitment_rate")
# a model with two groups and different priors on the respective response
# probabilities
mdl <- create_srpmodel(
A = define_srp_prior(),
B = define_srp_prior(p_mean = 0.33, p_n = 10)
)
mdl$median_t