rttright {survival}  R Documentation 
For many survival estimands, one approach is to redistribute each censored observation's weight to those other observations with a longer survival time (think of distributing an estate to the heirs). Then compute on the remaining, uncensored data.
rttright(formula, data, weights, subset, na.action, times, id, timefix = TRUE)
formula 
a formula object, which must have a

data 
a data frame in which to interpret the variables named in the formula,

weights 
The weights must be nonnegative and it is strongly recommended that
they be strictly positive, since zero weights are ambiguous, compared
to use of the 
subset 
expression saying that only a subset of the rows of the data should be used in the fit. 
na.action 
a missingdata filter function, applied to the model frame, after any

times 
a vector of time points, for which to return updated weights. If missing, a time after the largest time in the data is assumed. 
id 
optional: if the data set has multiple rows per subject, a a variable containing the subect identifier of each row. 
timefix 
correct for possible roundoff error 
The formula
argument is treated exactly the same as in the
survfit
function.
Redistribution is recursive: redistribute the weight of the first
censored observation to all those with longer time, which may include
other censored observations. Then redistribute the next smallest and
etc. up to the specified time
value.
After redistributing the weight for a censored observation to other
observations that are not censored, ordinary noncensored methods can
often be applied. For example, redistribution of the weights,
followed by computation of the weighted cumulative distribution
function, reprises the KaplanMeier estimator.
A primary use of this routine is illustration of methods or exploration of new methods. Methods that use RTTR directly, such as the Brier score, will often do these compuations internally.
A covariate on the right hand side of the formula causes redistribution to occur within group; a censoring in group 1 redistributes weights to others in group 1, etc. This is appropriate when the censoring pattern depends upon group.
a vector or matrix of weights, with one column for each requested time
afit < survfit(Surv(time, status) ~1, data=aml)
rwt < rttright(Surv(time, status) ~1, data=aml)
# Reproduce a KaplanMeier
index < order(aml$time)
cdf < cumsum(rwt[index]) # weighted CDF
cdf < cdf[!duplicated(aml$time[index], fromLast=TRUE)] # remove duplicate times
cbind(time=afit$time, KM= afit$surv, RTTR= 1cdf)
# Hormonal patients have a diffent censoring pattern
wt2 < rttright(Surv(dtime, death) ~ hormon, rotterdam, times= 365*c(3, 5))
dim(wt2)