| rfmstate | R Documentation |
Fits one ranger cause-specific survival forest for every declared edge of a validated acyclic, non-recurrent multistate structure. Forest response time is duration since fresh entry into the origin state.
rfmstate(
msdata,
covariates = NULL,
num.trees = 1000L,
mtry = NULL,
min.node.size = 15L,
min_events = 5L,
sparse_warning = 50L,
importance = "permutation",
seed = NULL,
...
)
msdata |
An |
covariates |
Predictor names. |
num.trees |
Positive integer number of trees fitted for every edge. |
mtry |
Positive integer number of predictors considered at each split.
|
min.node.size |
Positive integer ranger minimum terminal-node size. |
min_events |
Explicit technical safeguard for target events per edge. It is not a universal adequacy threshold. |
sparse_warning |
Positive integer descriptive event-count threshold for
an edge warning; set |
importance |
One of |
seed |
|
... |
Supported ranger controls: |
Every competing exit from an origin state remains an observed exit
for that sojourn, but is coded as a non-target outcome in the binary
cause-specific forest for a particular edge. An unestimable declared edge
stops the whole fit; it is never omitted or represented by zero hazard.
The ranger model frame is constructed anew as .rfm_time,
.rfm_event, and the contract-approved predictors. Predictor factor
levels and numeric ranges are learned from the actual fitting rows, not
copied from a preparation-time or full-data schema.
An rfmstate object containing models for every
declared edge; structure; selected covariates and
predictor_schema; origin-state fitting data; backend event-time
grids; per-edge event, support, ranger-argument, and genuine OOB metadata;
the validated msdata; fit params; package versions; verified
OOB coverage; and the clock-reset semi-Markov time-scale contract.
RFmstate controls and rejects duplicate specification of formula,
data, num.trees, mtry, min.node.size,
importance, seed, write.forest, oob.error, and
keep.inbag.
Unnamed and unknown arguments also fail. The only names accepted through
... are:
Bootstrap/subsampling controls.
Survival split controls supported by the installed ranger version.
Unordered-factor handling.
Computation controls.
Maximum tree depth.
Predictors always considered for splitting.
These arguments retain ranger's definitions and are checked against the
installed ranger formal arguments before fitting. case.weights,
class.weights, split.select.weights, response controls, and
every other unlisted ranger argument are rejected in this release.
Effective sampling defaults are resolved and stored. In particular,
replace = FALSE, sample.fraction = 1 is rejected because it leaves no
OOB observations. RFmstate forces oob.error = TRUE and
keep.inbag = TRUE, verifies finite ranger OOB error after every edge
fit, and stores per-sojourn OOB-tree coverage.
The fit supports baseline, time-fixed, complete covariates in single-root
acyclic non-recurrent data. It does not support left truncation,
time-dependent covariates, recurrent visits/cycles, missing fitting
covariates, subject-specific frailty, clock-forward hazards, or confidence
intervals. Structural, outcome-time, censoring, ID, and arbitrary
long-format columns cannot be added as predictors. Every declared edge must
meet min_events; this technical
safeguard is not a universal adequacy threshold.
ms <- clinical_states()
dat <- sim_clinical_data(300, structure = ms, seed = 42)
long <- prepare_data(
dat, "ID", ms,
list(Responded="time_Responded", Unresponded="time_Unresponded",
Stabilized="time_Stabilized", Progressed="time_Progressed",
Death="time_Death"),
"time_censored", c("age", "sex", "BMI", "treatment")
)
fit <- rfmstate(long, num.trees = 100, min_events = 3, seed = 42)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.