library(maxEff)
# Loading required package: groupedHyperframe
# Registered S3 method overwritten by 'pROC':
# method from
# plot.roc spatstat.explore51 statusPartition()
The examples in Chapter 51 require (see the explanation of the function name conflict in Section 7.4)
Function maxEff::statusPartition() (v0.2.1)
- splits a
left-censoredsurvival::Survobject by its survival status, i.e., observed versusleft-censored; - partitions the observed and
left-censored subjects, respectively, into test/training sets.
See Section 12.2 for the usage of the terms “split” versus “partition”.
Listing 51.1 creates a Surv object capacitor_failure from the example data frame capacitor from package survival (Therneau 2024, v3.8.3),
left-censored Surv object capacitor_failure
capacitor_failure = survival::capacitor |>
with(expr = survival::Surv(time, status))
capacitor_failure
# [1] 439 904 1092 1105 572 690 904 1090 315 315 439 628 258 258 347 588 959 1065 1065 1087 216 315 455 473 241 315 332 380 241 241 435 455
# [33] 1105+ 1105+ 1105+ 1105+ 1090+ 1090+ 1090+ 1090+ 628+ 628+ 628+ 628+ 588+ 588+ 588+ 588+ 1087+ 1087+ 1087+ 1087+ 473+ 473+ 473+ 473+ 380+ 380+ 380+ 380+ 455+ 455+ 455+ 455+Function statusPartition() (Listing 51.2) intends to avoid the situation that a Cox proportional hazards model survival::coxph() in one or more of the partitioned data set being degenerate due to the fact that all subjects in that partition being censored.
statusPartition(), balanced by survival status (Listing 51.1)
set.seed(12); id = capacitor_failure |>
statusPartition(times = 1L, p = .5) |>
unlist()
capacitor_failure[id, 2L] |>
table()
#
# 0 1
# 16 16Function statusPartition() is an extension of the very popular function caret::createDataPartition() (Listing 51.3), which stratifies a Surv object by the quantiles of its survival time (as of package caret v7.0.1).
caret::createDataPartition(), not balanced by survival status (Listing 51.1)
set.seed(12); id0 = capacitor_failure |>
caret::createDataPartition(times = 1L, p = .5) |>
unlist()
capacitor_failure[id0, 2L] |>
table()
#
# 0 1
# 19 14