This task specializes mlr3::Task and mlr3::TaskSupervised for possibly-censored survival problems. The target is comprised of survival times and an event indicator. Predefined tasks are stored in mlr3::mlr_tasks.

The task_type is set to "surv".

See also

Other Task: TaskDens

Super classes

mlr3::Task -> mlr3::TaskSupervised -> TaskSurv

Active bindings

censtype

character(1)
Returns the type of censoring, one of "right", "left", "counting", "interval", "interval2" or "mstate".

Methods

Public methods

Inherited methods

Method new()

Creates a new instance of this R6 class.

Usage

TaskSurv$new(
  id,
  backend,
  time,
  event,
  time2,
  type = c("right", "left", "counting", "interval", "interval2", "mstate")
)

Arguments

id

(character(1))
Identifier for the new instance.

backend

(DataBackend)
Either a DataBackend, or any object which is convertible to a DataBackend with as_data_backend(). E.g., a data.frame() will be converted to a DataBackendDataTable.

time

(character(1))
Name of the column for event time if data is right censored, otherwise starting time if interval censored.

event

(character(1))
Name of the column giving the event indicator. If data is right censored then "0"/FALSE means alive (no event), "1"/TRUE means dead (event). If type is "interval" then "0" means right censored, "1" means dead (event), "2" means left censored, and "3" means interval censored. If type is "interval2" then event is ignored.

time2

(character(1))
Name of the column for ending time for interval censored data, otherwise ignored.

type

(character(1))
Name of the column giving the type of censoring. Default is 'right' censoring.


Method truth()

True response for specified row_ids. Format depends on the task type. Defaults to all rows with role "use".

Usage

TaskSurv$truth(rows = NULL)

Arguments

rows

integer()
Row indices.

Returns

numeric().


Method formula()

Creates a formula for survival models with survival::Surv on the LHS.

Usage

TaskSurv$formula(rhs = NULL)

Arguments

rhs

If NULL RHS is ., otherwise gives RHS of formula.

Returns

numeric().


Method clone()

The objects of this class are cloneable with this method.

Usage

TaskSurv$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

Examples

library(mlr3) lung = mlr3misc::load_dataset("lung", package = "survival") lung$status = (lung$status == 2L) b = as_data_backend(lung) task = TaskSurv$new("lung", backend = b, time = "time", event = "status") task$target_names
#> [1] "time" "status"
task$feature_names
#> [1] "age" "inst" "meal.cal" "pat.karno" "ph.ecog" "ph.karno" #> [7] "sex" "wt.loss"
task$formula()
#> Surv(time, status, type = "right") ~ . #> <environment: namespace:survival>
task$truth()
#> [1] 306 455 1010+ 210 883 1022+ 310 361 218 166 170 654 #> [13] 728 71 567 144 613 707 61 88 301 81 624 371 #> [25] 394 520 574 118 390 12 473 26 533 107 53 122 #> [37] 814 965+ 93 731 460 153 433 145 583 95 303 519 #> [49] 643 765 735 189 53 246 689 65 5 132 687 345 #> [61] 444 223 175 60 163 65 208 821+ 428 230 840+ 305 #> [73] 11 132 226 426 705 363 11 176 791 95 196+ 167 #> [85] 806+ 284 641 147 740+ 163 655 239 88 245 588+ 30 #> [97] 179 310 477 166 559+ 450 364 107 177 156 529+ 11 #> [109] 429 351 15 181 283 201 524 13 212 524 288 363 #> [121] 442 199 550 54 558 207 92 60 551+ 543+ 293 202 #> [133] 353 511+ 267 511+ 371 387 457 337 201 404+ 222 62 #> [145] 458+ 356+ 353 163 31 340 229 444+ 315+ 182 156 329 #> [157] 364+ 291 179 376+ 384+ 268 292+ 142 413+ 266+ 194 320 #> [169] 181 285 301+ 348 197 382+ 303+ 296+ 180 186 145 269+ #> [181] 300+ 284+ 350 272+ 292+ 332+ 285 259+ 110 286 270 81 #> [193] 131 225+ 269 225+ 243+ 279+ 276+ 135 79 59 240+ 202+ #> [205] 235+ 105 224+ 239 237+ 173+ 252+ 221+ 185+ 92+ 13 222+ #> [217] 192+ 183 211+ 175+ 197+ 203+ 116 188+ 191+ 105+ 174+ 177+