contToDisc {discSurv} | R Documentation |
Continuous to Discrete Transformation
Description
Discretizes continuous time variable into a specified grid of censored data for discrete survival analysis. It is a data preprocessing step, before the data can be extendend in long format and further analysed with discrete survival models.
Usage
contToDisc(
dataShort,
timeColumn,
intervalLimits,
equi = FALSE,
timeAsFactor = FALSE
)
Arguments
dataShort |
Original data in short format ("class data.frame"). |
timeColumn |
Name of the column of discrete survival times ("character vector"). |
intervalLimits |
Right interval borders ("numeric vector"), e. g. if the intervals are [0, a_1), [a_1, a_2), [a_2, a_max), then intervalLimits = c(a_1, a_2, a_max) |
equi |
Specifies if argument intervalLimits should be interpreted as number of equidistant intervals ("logical vector"). |
timeAsFactor |
Specifies if the computed discrete time intervals should be converted to a categorical variable ("logical vector"). Default is FALSE. In the default settings the discret time intervals are treated as quantitative ("numeric vector"). |
Value
Gives the data set expanded with a first column "timeDisc". This column includes the discrete time intervals ("class factor").
Note
In discrete survival analysis the survival times have to be categorized in time intervals. Therefore this function is required, if there are observed continuous survival times.
Author(s)
Thomas Welchowski welchow@imbie.meb.uni-bonn.de
References
Tutz G, Schmid M (2016). Modeling discrete time-to-event data. Springer Series in Statistics.
See Also
dataLong
, dataLongTimeDep
,
dataLongCompRisks
Examples
# Example copenhagen stroke study data
library(pec)
data(cost)
head(cost)
# Convert observed times to months
# Right borders of intervals [0, a_1), [a_1, a_2), ... , [a_{\max-1}, a_{\max})
IntBorders <- 1:ceiling(max(cost$time)/30)*30
# Select subsample
subCost <- cost [1:100, ]
CostMonths <- contToDisc(dataShort=subCost, timeColumn = "time", intervalLimits = IntBorders)
head(CostMonths)
# Select subsample giving number of equidistant intervals
CostMonths <- contToDisc(dataShort = subCost, timeColumn = "time", intervalLimits = 10, equi = TRUE)
head(CostMonths)