Learn R Programming

SurvCorr (version 1.1)

survcorr: Correlation Analysis of Survival Times by Iterative Multiple Imputation

Description

This R-package implements the iterative multiple imputation algorithm as proposed by Schemper, Kaider, Wakounig and Heinze (2013) for estimation of a correlation coefficient for bivariate possibly censored time-to-event data.

Usage

survcorr(formula1, formula2, 
    data, methods = "imi", alpha = 0.05, intra = FALSE, 
    M = 10, MCMCSteps = 10, epsilon = 0.001, maxiter = 100)

Value

rho

estimated correlation coefficient

ci.lower

lower limit of confidence interval for rho

ci.upper

upper limit of confidence interval for rho

simData

imputed data sets for each iteration, with components M (number of imputations), z1M, z2M (imputed normal deviates), delta1, delta2 (censoring indicators), t1, t2 (imputed non-censored survival times)

M

number of imputations

MCMCSteps

number of MCMC steps in iterative imputation

rj.trans

the M atanh-transformed correlation coefficients from M imputed data sets

rj.t.mean

the posterior mean of the atanh-transofmred correlation coefficients over the M imputations

var

the variance of atanh(rho), with components within, between and total

df

the number of degrees of freedom (important for confidence interval computation)

alpha

1-confidence level

call

the function call (useful for making use of update(obj))

Arguments

formula1

Survival object for first time-to-event variable, e.g. Surv(time1, status1)~1

formula2

Survival object for second time-to-event variable, e.g. Surv(time2, status2)~1

data

Data set to look up variables

methods

Correlation method(s). Currently, only "imi" (iterative multiple imputation) is implemented.

alpha

One minus confidence level (for confidence interval computation)

intra

If TRUE, an intraclass correlation coefficient will be computed, assuming that the two time-to-event variables are interchangeable in each observation.

M

Number of imputations (for IMI)

MCMCSteps

Number of MCMCSteps (for IMI)

epsilon

Accuracy of numerical estimation of correlation coefficients

maxiter

Maximum number of iterations in IMI

Author

Meinhard Ploner, Alexandra Kaider, Georg Heinze

Details

The analysis of correlations within pairs of survival times is of interest to many research topics in medicine, such as the correlation of survival-type endpoints of twins, the correlation of times till failure in paired organs, or the correlation of survival time with a surrogate endpoint. The dependence of such times is assumed monotonic and thus quantification by rank correlation coefficients appropriate. The typical censoring of such times requires more involved methods of estimation and inference as have been developed in recent years. As an alternative to the maximum likelihood methodology for the normal copula approach (NCE) this package implements an iterative multiple imputation (IMI) method which requires only about 0.05% of the computing time of NCE, without sacrificing statistical performance. For IMI, survival probabilities at death or censoring times are first transformed to normal deviates. Then, those deviates which relate to censored times are iteratively augmented, by conditional multiple imputation, until convergence is obtained for the normal scores rank correlation, which is similar to Spearman's rank correlation. Schemper, Kaider, Wakounig and Heinze (2013) compared statistical properties of NCE and IMI by means of a Monte Carlo study and by means of three real data sets; two of them are available in this package.

References

Schemper,M., Kaider,A., Wakounig,S. & Heinze,G. (2013): "Estimating the correlation of bivariate failure times under censoring", Statistics in Medicine, 32, 4781-4790 tools:::Rd_expr_doi("10.1002/sim.5874").

Examples

Run this code
## Example 1
data(kidney)
obj = survcorr(formula1=Surv(TIME1, STATUS1) ~ 1, formula2=Surv(TIME2, STATUS2) ~ 1, 
  data=kidney, M=1000, MCMCSteps=10, alpha=0.05, epsilon=0.001)

## Example 2
data(diabetes)
obj = survcorr(formula1=Surv(TIME1, STATUS1) ~ 1, formula2=Surv(TIME2, STATUS2) ~ 1, 
  data=diabetes, M=100, MCMCSteps=10, alpha=0.05, epsilon=0.001)
plot(obj, "times")


Run the code above in your browser using DataLab