I have a dataset for studying breast cancer patients. I wanted to fit a Cox proportional model (without considering the interaction term).
The variables contain age (<40 =1, 40~60=2,>60=3), predominant site (not middle=1, middle=2,unknown=9), maximum diameter (<2.5=1, 2.5~5.5=2), menopausal status (<2 year=1, >2 years=2,unknown=9), estrogen level ( neg=0, pos=1,unknown=9), progesterone levels (neg=0, pos=1,unknown=9) and w.censored(0=censored,1=not censored).
'data.frame': 572 obs. of 6 variables:
$ age : Factor w/ 3 levels "1","2","3": 1 1 2 1 2 1 1 2 2 1 ...
$ mepl.sts : Factor w/ 3 levels "1","2","9": 1 3 2 1 2 1 1 2 1 1 ...
$ pre.site : Factor w/ 3 levels "1","2","9": 1 3 1 3 3 1 3 3 1 3 ...
$ max.dia : Factor w/ 4 levels "1","2","3","9": 1 2 4 3 3 3 3 3 2 2 ...
$ es.level : Factor w/ 3 levels "0","1","9": 3 3 3 2 2 1 1 1 1 1 ...
$ prog.level: Factor w/ 3 levels "0","1","9": 3 3 3 1 1 1 1 1 1 1 ...
First I turned all these categorical variables into factors using as. factor
. Then I did a Cox fit of all the variables in R and got the following results.
fit <- coxph(Surv(surv.day,w.cens) ~age + mepl.sts + pre.site+max.dia
+ es.level+prog.level ,data=bcnew)
summary(fit)
> summary(fit)
Call:
coxph(formula = Surv(surv.day, w.cens) ~ age + mepl.sts + pre.site +
max.dia + es.level + prog.level, data = bcnew)
n= 572, number of events= 74
coef exp(coef) se(coef) z Pr(>|z|)
age2 -0.6059 0.5456 0.4408 -1.374 0.169287
age3 -0.1771 0.8377 0.5457 -0.325 0.745463
mepl.sts2 0.1884 1.2073 0.4145 0.455 0.649412
mepl.sts9 -0.1904 0.8266 0.6041 -0.315 0.752580
pre.site2 0.9555 2.5999 0.3594 2.659 0.007846 **
pre.site9 0.6220 1.8627 0.3260 1.908 0.056347 .
max.dia2 1.0824 2.9518 0.3722 2.908 0.003632 **
max.dia3 1.9059 6.7256 0.4570 4.170 3.04e-05 ***
max.dia9 -0.8610 0.4227 0.6148 -1.400 0.161380
es.level1 -0.6653 0.5141 0.3525 -1.887 0.059152 .
es.level9 -1.1442 0.3185 0.3101 -3.690 0.000225 ***
prog.level1 -1.1256 0.3245 0.3921 -2.871 0.004095 **
prog.level9 NA NA 0.0000 NA NA
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’
Concordance= 0.826 (se = 0.021 )
Likelihood ratio test= 103.8 on 12 df, p=<2e-16
Wald test = 94.27 on 12 df, p=7e-15
Score (logrank) test = 140.6 on 12 df, p=<2e-16
Since the p-value of age and menopausal status was > 0.1, the model was
h(t|x)=h0(t)exp(0.9555pre.site(2)+0.622pre.site(9)+1.0824max.dia(2)+1.9059max.dia(3) -0.6653es.level(1)-1.1442es.level(9)-1.1256*prog.level(1))
I don't know if this model is correct, but I think there is something strange about the results. It is common sense that a person's age would have an effect on survival time, but each age grouping gets a p-value much greater than 0.1.
By the way, if I have 20 variables grouped in my dataset, can I use the step(fit)
procedure to get the final model?
Thank you very much!
cov (age, menopausal status)
is not measuring what you think it's measuring because: a) you've binned age; b) you've assigned 9 to missing menopausal status. $\endgroup$