[R] Problem in anova with coxph object
Matthias Gondan
matthias-gondan at gmx.de
Tue Jan 8 18:30:40 CET 2008
Dear R users,
I noticed a problem in the anova command when applied on
a single coxph object if there are missing observations in
the data:
This example code was run on R-2.6.1:
> library(survival)
> data(colon)
> colondeath = colon[colon$etype==2, ]
> m = coxph(Surv(time, status) ~ rx + sex + age + perfor, data=colondeath)
> m
Call:
coxph(formula = Surv(time, status) ~ rx + sex + age + perfor,
data = colondeath)
coef exp(coef) se(coef) z p
rxLev -0.028895 0.972 0.11037 -0.262 0.7900
rxLev+5FU -0.374286 0.688 0.11885 -3.149 0.0016
sex -0.000754 0.999 0.09431 -0.008 0.9900
age 0.002442 1.002 0.00405 0.603 0.5500
perfor 0.155695 1.168 0.26286 0.592 0.5500
Likelihood ratio test=12.8 on 5 df, p=0.0251 n= 929
> anova(m, test='Chisq')
Analysis of Deviance Table
Cox model: response is Surv(time, status)
Terms added sequentially (first to last)
Df Deviance Resid. Df Resid. Dev P(>|Chi|)
NULL 929 5860.4
rx 2 12.1 927 5848.2 2.302e-03
sex 1 2.054e-05 926 5848.2 1.0
age 1 0.3 925 5847.9 0.6
perfor 1 0.3 924 5847.6 0.6
Now I include nodes which has some missing data:
> m = coxph(Surv(time, status) ~ rx + sex + age + perfor + nodes,
data=colondeath)
> m
Call:
coxph(formula = Surv(time, status) ~ rx + sex + age + perfor +
nodes, data = colondeath)
coef exp(coef) se(coef) z p
rxLev -0.08245 0.921 0.11168 -0.738 0.46000
rxLev+5FU -0.40310 0.668 0.12054 -3.344 0.00083
sex -0.02854 0.972 0.09573 -0.298 0.77000
age 0.00547 1.005 0.00405 1.350 0.18000
perfor 0.19040 1.210 0.26335 0.723 0.47000
nodes 0.09296 1.097 0.00889 10.460 0.00000
Likelihood ratio test=88.3 on 6 df, p=1.11e-16 n=911 (18 observations
deleted due to missingness)
> anova(m, test='Chisq')
Analysis of Deviance Table
Cox model: response is Surv(time, status)
Terms added sequentially (first to last)
Df Deviance Resid. Df Resid. Dev P(>|Chi|)
NULL 911 5700.6
rx 2 0.0 909 5848.2 1.0
sex 1 2.054e-05 908 5848.2 1.0
age 1 0.3 907 5847.9 0.6
perfor 1 0.3 906 5847.6 0.6
nodes 1 235.3 905 5612.3 4.253e-53
The strange thing is that rx is not significant anymore.
In the documentation for anova.coxph, there is a warning that
> The comparison between two or more models by |anova| or will only be
> valid if they are fitted to the same dataset. This may be a problem if
> there are missing values.
>
However, I inserted a single object to be analyzed sequentially. Is
this a bug in R, or is it covered by the warning?
Best wishes,
Matthias
More information about the R-help
mailing list