[R] Capture warning messages from coxph()

xinyi lin x1lin at ucsd.edu
Mon Dec 17 16:16:53 CET 2007


Hi,

I want to fit multiple cox models using the coxph() function. To do
this, I use a for-loop and save the relevant results in a separate
matrix. In the example below, only two models are fitted (my actual
matrix has many more columns), one gives a warning message, while the
other does not. Right now, I see all the warning message(s) after the
for-loop is completed but have no idea which model gave the warning
message. Is there a way in which the warning message can be captured
and saved (i.e. as a binary variable, having value 1 if there was a
warning message and 0 otherwise)? I can't possibly fit the models one
by one (and see if they give a warning message) as I have many of them
to fit.


> library(survival)
Loading required package: splines
> time= c(4,3,1,1,2,2,3,3,2)
> status=c(1,0,0,0,1,1,1,1,1)
> TIME=Surv(time,status)
> x= cbind(c(0,2,1,1,0,0,0,2,0),c(0,2,1,1,0,0,0,0,0))
>
> results=matrix(NA,ncol=3,nrow=ncol(x))
> colnames(results)=c("coef","se","p")
>
> for(i in 1:ncol(x)){
+ fit=summary(coxph(TIME~x[,i]))
+ results[i,1]=fit$coef[1]
+ results[i,2]=fit$coef[3]
+ results[i,3]=fit$coef[5]
+ rm(fit)
+ }
Warning message:
Loglik converged before variable  1 ; beta may be infinite.  in:
fitter(X, Y, strats, offset, init, control, weights = weights,
>
> results
            coef           se    p
[1,]  -0.5117033 5.647385e-01 0.36
[2,] -10.2256937 1.146168e+04 1.00
>
> #To see which model gave the warning message
> coxph(TIME~x[,1])
Call:
coxph(formula = TIME ~ x[, 1])


         coef exp(coef) se(coef)      z    p
x[, 1] -0.512       0.6    0.565 -0.906 0.36

Likelihood ratio test=0.97  on 1 df, p=0.324  n= 9
> coxph(TIME~x[,2])
Call:
coxph(formula = TIME ~ x[, 2])


        coef exp(coef) se(coef)         z        p
x[, 2] -10.2  3.62e-05    11462 -0.000892 1

Likelihood ratio test=2.51  on 1 df, p=0.113  n= 9
Warning message:
Loglik converged before variable  1 ; beta may be infinite.  in:
fitter(X, Y, strats, offset, init, control, weights = weights,


Thank you,
Cindy Lin



More information about the R-help mailing list