Type: | Package |
Title: | C-Statistics for Risk Prediction Models with Censored Survival Data |
Version: | 1.0-3 |
Date: | 2021-02-10 |
Author: | Hajime Uno |
Maintainer: | Hajime Uno <huno@jimmy.harvard.edu> |
Depends: | survival |
Description: | Performs inference for C of risk prediction models with censored survival data, using the method proposed by Uno et al. (2011) <doi:10.1002/sim.4154>. Inference for the difference in C between two competing prediction models is also implemented. |
License: | GPL-2 |
LazyLoad: | yes |
NeedsCompilation: | yes |
Packaged: | 2021-02-10 16:16:33 UTC; miki |
Repository: | CRAN |
Date/Publication: | 2021-02-10 16:50:02 UTC |
C-Statistics for Risk Prediction Models with Censored Survival Data
Description
Performes inference of overall adequecy of risk prediction models with censored survival data.
Details
Package: | survC1 |
Type: | Package |
Version: | 1.0-3 |
Date: | 2021-02-10 |
License: | GPL-2 |
LazyLoad: | yes |
Performs inference for C of risk prediction models with censored survival data, using the method proposed by Uno et al. (2011). Inference for the difference in C between two competing prediction models is also implemented.
Author(s)
Hajime Uno
Maintainer: Hajime Uno <huno@jimmy.harvard.edu>
References
Hajime Uno, Tianxi Cai, Michael J. Pencina, Ralph B. D'Agostino, and LJ Wei. On the C-statistics for evaluating overall adequacy of risk prediction procedures with censored survival data. Statistics in Medicine 2011, 30:1105-16. doi:10.1002/sim.4154
Examples
#==============================================
# read sample data (PBC in survival package)
#==============================================
D=CompCase(pbc[1:200,c(2:4,10:14)])
D[,2]=as.numeric(D[,2]==2)
#==============================================
# Inference of C
#==============================================
tau=365.25*8
C=Inf.Cval(D, tau, itr=200)
round(c(C$Dhat, C$se, C$low95, C$upp95), digits=3)
#==============================================
# Inference of Delta C between 2 models
#==============================================
model0<-D[,c(1:2,4:5)] ;
model1<-D
covs1<-as.matrix(model1[,c(-1,-2)])
covs0<-as.matrix(model0[,c(-1,-2)])
Delta=Inf.Cval.Delta(model0[,1:2], covs0, covs1, tau, itr=200)
round(Delta, digits=3)
#==============================================
# Point estimation via cross-validation
#==============================================
model1=D[,c(1,2,4)]
cvC(model1,tau,cvK=2,Rep=10)
Creates complete case data
Description
Creates a complete-case data set, removing subjects with any missing value in the outcome or predictors
Usage
CompCase(mydata)
Arguments
mydata |
A data matrix that consists of numeric data. No character data is allowed. |
Examples
D=CompCase(pbc[,c(2:4,10:14)])
Esimtation of C
Description
Performs a point estimation of C
Usage
Est.Cval(mydata, tau, nofit=FALSE)
Arguments
mydata |
Input data. The 1st column should be time-to-event, and the 2nd column is event indicator (1=event, 0=censor). The rest of the columns are covariates/predictors used in the model. No character variable or missing is allowed. |
tau |
Truncation time. The resulting C tells how well the given prediction model works in predicting events that occur in the time range from 0 to |
nofit |
If |
Value
Dhat |
Estimate of C |
beta |
Estimates for regression coefficient in the Cox model |
beta.var |
Variance-Covariance matrix for |
rs |
Risk score of each individial |
ft |
|
Examples
D=CompCase(pbc[1:200,c(2:4,10:14)])
D[,2]=as.numeric(D[,2]==2)
tau=365.25*8
model=D[,c(1,2,4,5)]
Est.Cval(model, tau)$Dhat
Derivation of a risk score by a Cox proportioal hazarzs model
Description
Provides risk score by fitting data to a Cox's proportional hazards model with a given set of predictors.
Usage
Est.PH(mydata)
Arguments
mydata |
Input data. The 1st column should be time-to-event, and the 2nd column is event indicator (1=event, 0=censor). The rest of the columns are covariates/predictors used in the model. No character variable or missing is allowed. |
Value
beta |
Estimates for regression coefficient in the Cox model |
var |
Variance-Covariance matrix for the beta above |
rs |
Risk score of each individual |
ft |
|
Examples
D=CompCase(pbc[1:200,c(2:4,10:14)])
D[,2]=as.numeric(D[,2]==2)
ft=Est.PH(D)
Inference of C
Description
Performes the inference for C
Usage
Inf.Cval(mydata, tau, itr = 1000, seed = NULL)
Arguments
mydata |
Input data. The 1st column should be time-to-event, and the 2nd column is event indicator (1=event, 0=censor). The rest of the columns are covariates/predictors used in the model. No character variable or missing is allowed. |
tau |
Truncation time. The resulting C tells how well the given prediction model works in predicting events that occur in the time range from 0 to |
itr |
Iteration of perturbation-resampling. |
seed |
A seed for generating random numbers for the resampling. The default is NULL. |
Value
Dhat |
Estimate for C |
se |
Standard error estiamte |
low95 |
Lower limit of a 0.95 two-sided confidence interval for C |
upp95 |
Upper limit of a 0.95 two-sided confidence interval for C |
ft |
|
Examples
D=CompCase(pbc[1:200,c(2:4,10:14)])
D[,2]=as.numeric(D[,2]==2)
tau=365.25*8
C=Inf.Cval(D, tau, itr=200)
round(c(C$Dhat, C$se, C$low95, C$upp95), digits=3)
Inference of Delta C
Description
Performes the inference for the difference in C between two competing risk prediction models
Usage
Inf.Cval.Delta(mydata, covs0, covs1, tau, itr = 1000, seed = NULL)
Arguments
mydata |
Input data. The 1st column should be time-to-event, and the 2nd column is event indicator (1=event, 0=censor). |
covs0 |
A matrix that consists of a set of predictors for a base model (Model 0) |
covs1 |
A matrix that consists of a set of predictors for a new model (Model 1) |
tau |
Truncation time. The resulting C tells how well the given prediction model works in predicting events that occur in the time range from 0 to |
itr |
Iteration of perturbation-resampling. |
seed |
A seed for generating random numbers for the resampling. The default is NULL. |
Value
A 4x3 matrix that consists of point estimates, standard error estiamtes, and lower and upper limits of 0.95 two-sided intervals for C of Model 1, Model 0 and that for the difference of C
Examples
D=CompCase(pbc[1:200,c(2:4,10:14)])
D[,2]=as.numeric(D[,2]==2)
model0<-D[,c(1:2,4:5)] ;
model1<-D
covs1<-as.matrix(model1[,c(-1,-2)])
covs0<-as.matrix(model0[,c(-1,-2)])
tau=365.25*8
Delta=Inf.Cval.Delta(model0[,1:2], covs0, covs1, tau, itr=200)
round(Delta, digits=3)
Vector to Matrix
Description
Making a (PxM) matrix (x',x',x',...,x') from a (Px1) vector, x
Usage
VEC2MAT(vc, dm)
Arguments
vc |
A vector |
dm |
The number of row of the matrix returned |
A child function to calcuate concordance
Description
This is a child function (R-wrapper) called in the main functions in this package.
Usage
conc(X, D, W, R)
Arguments
X |
time |
D |
event indicator (1:event, 0:censor) |
W |
weight |
R |
risk score |
Cross-validation estimate for C
Description
Provides a cross-validation estimate for C
Usage
cvC(mydata, tau, cvK = 10, Rep = 10)
Arguments
mydata |
Input data. The 1st column should be time-to-event, and the 2nd column is event indicator (1=event, 0=censor). The rest of the columns are covariates/predictors used in the model. No character variable or missing is allowed. |
tau |
Truncation time. The resulting C tells how well the given prediction model works in predicting events that occur in the time range from 0 to |
cvK |
The number of fold. A K-fold cross-validation is performed, according to the number given for |
Rep |
The number of iteration of the random splits for the K-fold cross-validation. The average of the |
Examples
D=CompCase(pbc[,c(2:4,10:14)])
D[,2]=as.numeric(D[,2]==2)
tau=365.25*8
model1=D[1:200,c(1,2,4)]
cvC(model1,tau,cvK=2,Rep=10)
Kaplan-Meier for Censoring
Description
This is a child function called in the main functions in this package. Specifically, this obtains the survival function for censroing time and gives quantities used in the perturbation-resampling method for C.
Usage
kmcens(time, status, tau)
Arguments
time |
time to event variable |
status |
indicator of event (1:event, 0: censor) |
tau |
see |
A child function used in Inf.Cval and Inf.Cval.Delta
Description
This is a child function (R-wrapper) used in the main functions of this package.
Usage
unoCW(X, D, W, Wstar, RS, RSstar, REX, Chat)
Arguments
X |
time |
D |
event indicator (1:event, 0:censor) |
W |
Weight used in calculating C |
Wstar |
Weight used in calculating C (pertubed version) |
RS |
risk score |
RSstar |
risk score (perturbed version) |
REX |
Random numbers assinged to each individual for the perturbation-resmapling method |
Chat |
C-statisitc estimated with the present dataset |
A child function used in Inf.Cval and Inf.Cval.Delta
Description
This is a child function (R-wrapper) used in the main functions of this package.
Usage
unoU2P(A, B)
Arguments
A |
A nxp matrix |
B |
A nx1 vector |