[R] censboot function for bootstrapping Cox proportional Hazard Model

David Winsemius dwinsemius at comcast.net
Sun May 31 23:47:10 CEST 2015


On May 31, 2015, at 2:10 PM, GeertSim wrote:

> Dear all,
> 
> I developed a cox regression model with three independent factors to predict
> overall survival in a specific group of patients. I would like to adjust
> this model for overoptimism with the censboot function of the boot package.
> I would like to use bootstrapping to adjust the regression coefficients of
> this model. However, I am unable to complete all the arguments of the
> censboot function after searching for several hours. The error I am not able
> to fix in the formula is:
> 
>> censboot(coxpredictors, mod.coxregr.hub, R=10, sim="ordinary")
> Error in censboot(coxpredictors, mod.coxregr.hub, R = 10, sim = "ordinary")
> : 
>  incorrect number of subscripts on matrix
> 
> I assume it has something to do with the strata argument, but I am not sure
> how to fix that. Furthermore, is "ordinary" simulation the correct type for
> this kind of analysis? I hope someone can help me to complete the formula so
> I can perform my bootstrap analysis. You can find my entire script below. 
> 
> Many thanks in advance.
> 
> Best regards,
> 
> Geert Simkens
> 
>> library(Hmisc)
>> library(survival)
>> library(foreign)
>> library(boot)
>> library(car)
>> library(pROC)
>> load("~/coxmodel.Rda")
>> attach(coxpredictors)

My guess (and one can only guess since there is no way to see the data) is that it has to do with attaching that dataframe and supplying arguments to the function (for instance 'event' and 'time` that are outside the evaluation environment that is expected inside the boot function. Using `attach` is generally unsafe and not appropriate for arguments passed into regression functions, especially so for boot-functions. More guesswork: I suspect that most of R-Core would rather that it did not exist.


-- 
David.

>> 
>> summary(coxpredictors)
> FollowUpMonths        Event            PCI10              N2          
> Symptoms     
> Min.   : 0.1314   Min.   :0.0000   Min.   :0.0000   Min.   :0.000   Min.  
> :0.0000  
> 1st Qu.:11.3676   1st Qu.:0.0000   1st Qu.:0.0000   1st Qu.:0.000   1st
> Qu.:1.0000  
> Median :19.6797   Median :0.0000   Median :0.0000   Median :0.000   Median
> :1.0000  
> Mean   :23.4967   Mean   :0.4472   Mean   :0.3668   Mean   :0.402   Mean  
> :0.8241  
> 3rd Qu.:32.2135   3rd Qu.:1.0000   3rd Qu.:1.0000   3rd Qu.:1.000   3rd
> Qu.:1.0000  
> Max.   :87.1622   Max.   :1.0000   Max.   :1.0000   Max.   :1.000   Max.  
> :1.0000  
>> 
>> time <- FollowUpMonths
>> event <- Event
>> X <- cbind(PCI10, N2, Symptoms)
>> summary(time)
>   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
> 0.1314 11.3700 19.6800 23.5000 32.2100 87.1600 
>> 
>> # cox regression model with dataname first
>> mod.coxregr.hub = function(coxpredictors)
> + {
> +     coxph(Surv(time,event == 1) ~ X, method="breslow", model=TRUE)
> + }
>> 
>> # cox regression model
>> coxmodel = coxph(Surv(time,event == 1) ~ X, method="breslow", model=TRUE)
>> 
>> summary(coxmodel)
> Call:
> coxph(formula = Surv(time, event == 1) ~ X, model = TRUE, method =
> "breslow")
> 
>  n= 199, number of events= 89 
> 
>            coef exp(coef) se(coef)     z Pr(>|z|)    
> XPCI10    1.3179    3.7356   0.2198 5.996 2.02e-09 ***
> XN2       0.5587    1.7485   0.2165 2.580  0.00987 ** 
> XSymptoms 0.8102    2.2483   0.3787 2.139  0.03241 *  
> ---
> Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
> 
>          exp(coef) exp(-coef) lower .95 upper .95
> XPCI10        3.736     0.2677     2.428     5.747
> XN2           1.748     0.5719     1.144     2.673
> XSymptoms     2.248     0.4448     1.070     4.723
> 
> Concordance= 0.703  (se = 0.033 )
> Rsquare= 0.216   (max possible= 0.982 )
> Likelihood ratio test= 48.42  on 3 df,   p=1.73e-10
> Wald test            = 48.11  on 3 df,   p=2.02e-10
> Score (logrank) test = 52.96  on 3 df,   p=1.867e-11
>> 
>> # bootstrapping formula
>> censboot(coxpredictors, mod.coxregr.hub, R=10, sim="ordinary")
> Error in censboot(coxpredictors, mod.coxregr.hub, R = 10, sim = "ordinary")
> : 
>  incorrect number of subscripts on matrix
>> 
>> 
> 
> 
> 
> --
> View this message in context: http://r.789695.n4.nabble.com/censboot-function-for-bootstrapping-Cox-proportional-Hazard-Model-tp4707989.html
> Sent from the R help mailing list archive at Nabble.com.
> 
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.

David Winsemius
Alameda, CA, USA



More information about the R-help mailing list