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".
mlr3::Task -> mlr3::TaskSupervised -> TaskSurv
censtypecharacter(1)
Returns the type of censoring, one of "right", "left", "counting", "interval", or "mstate".
new()Creates a new instance of this R6 class.
TaskSurv$new(
  id,
  backend,
  time = "time",
  event = "event",
  time2,
  type = c("right", "left", "interval", "counting", "interval2", "mstate"),
  label = NA_character_
)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.
label(character(1))
Label for the new instance.
truth()True response for specified row_ids. Format depends on the task type.
Defaults to all rows with role "use".
TaskSurv$truth(rows = NULL)
rowsinteger()
Row indices.
numeric().
formula()Creates a formula for survival models with survival::Surv on the LHS.
TaskSurv$formula(rhs = NULL)
rhsIf NULL RHS is ., otherwise gives RHS of formula.
numeric().
times()Returns the (unsorted) outcome times.
TaskSurv$times(rows = NULL)
rowsinteger()
Row indices.
numeric()
status()Returns the event indicator (aka censoring/survival indicator).
If censtype is "right" or "left" then 1 is event and 0 is censored.
If censtype is "mstate" then 0 is censored and all other values are different events.
If censtype is "interval" then 0 is right-censored, 1 is event, 2 is left-censored,
3 is interval-censored.
See survival::Surv.
TaskSurv$status(rows = NULL)
rowsinteger()
Row indices.
integer()
unique_times()Returns the sorted unique outcome times for 'right', 'left', and 'mcstate'.
TaskSurv$unique_times(rows = NULL)
rowsinteger()
Row indices.
numeric()
unique_event_times()Returns the sorted unique event (or failure) outcome times.
TaskSurv$unique_event_times(rows = NULL)
rowsinteger()
Row indices.
numeric()
risk_set()Returns the row_ids of the observations 'at risk' (not dead or censored) at time.
TaskSurv$risk_set(time = NULL)
time(numeric(1))  Time to return risk set for, if NULL returns all row_ids.
integer()
kaplan()Calls survival::survfit() to calculate the Kaplan-Meier estimator.
TaskSurv$kaplan(strata = NULL, rows = NULL, ...)
strata(character())
Stratification variables to use.
rows(integer())
Subset of row indices.
...(any)
Additional arguments passed down to survival::survfit.formula().
clone()The objects of this class are cloneable with this method.
TaskSurv$clone(deep = FALSE)
deepWhether to make a deep clone.
Other Task: 
TaskDens
# NOT RUN {
library(mlr3)
lung = survival::lung
lung$status = (lung$status == 2L)
task = TaskSurv$new("lung",
  backend = lung, time = "time",
  event = "status")
# meta data
task$target_names
task$feature_names
task$formula()
# survival data
task$truth()
task$times()
task$status()
task$unique_times()
task$unique_event_times()
task$risk_set(time = 700)
task$kaplan("sex")
# }
Run the code above in your browser using DataLab