1. Upload library
2.Upload data
data(package="survival")
bc<-cancer
head(bc)
## inst time status age sex ph.ecog ph.karno pat.karno meal.cal wt.loss
## 1 3 306 2 74 1 1 90 100 1175 NA
## 2 3 455 2 68 1 0 90 90 1225 15
## 3 3 1010 1 56 1 0 90 90 NA 15
## 4 5 210 2 57 1 1 90 60 1150 11
## 5 1 883 2 60 1 0 100 90 NA 0
## 6 12 1022 1 74 1 1 50 80 513 0
dc<-datadist(bc)
options(datadist="dc")
head(dc)
## $limits
## inst time status age sex ph.ecog ph.karno pat.karno
## Low:effect 3 166.75 1 56 1 0 75 70
## Adjust to 11 255.50 1 63 1 1 80 80
## High:effect 16 396.50 2 69 2 1 90 90
## Low:prediction 1 31.00 1 44 1 0 60 60
## High:prediction 26 740.00 2 76 2 2 100 100
## Low 1 5.00 1 39 1 0 50 30
## High 33 1022.00 2 82 2 3 100 100
## meal.cal wt.loss
## Low:effect 635.0000 0.00000
## Adjust to 975.0000 7.00000
## High:effect 1150.0000 15.75000
## Low:prediction 312.4361 -5.00000
## High:prediction 1500.0000 35.23348
## Low 96.0000 -24.00000
## High 2600.0000 68.00000
##
## $values
## $values$status
## [1] 1 2
##
## $values$sex
## [1] 1 2
##
## $values$ph.ecog
## [1] 0 1 2 3
##
## $values$ph.karno
## [1] 50 60 70 80 90 100
##
## $values$pat.karno
## [1] 30 40 50 60 70 80 90 100
3.COX regression equation
f <- cph(Surv(time, status) ~ age + sex + ph.ecog + pat.karno +wt.loss,
x=T, y=T, surv=T, data=cancer, time.inc=36)
4. Read summary
summary(f)
## Effects Response : Surv(time, status)
##
## Factor Low High Diff. Effect S.E. Lower 0.95 Upper 0.95
## age 56 69.00 13.00 0.13928 0.12616 -0.10799 0.386550
## Hazard Ratio 56 69.00 13.00 1.14940 NA 0.89764 1.471900
## sex 1 2.00 1.00 -0.57795 0.17713 -0.92511 -0.230790
## Hazard Ratio 1 2.00 1.00 0.56105 NA 0.39649 0.793910
## ph.ecog 0 1.00 1.00 0.40411 0.14441 0.12108 0.687150
## Hazard Ratio 0 1.00 1.00 1.49800 NA 1.12870 1.988000
## pat.karno 70 90.00 20.00 -0.24743 0.14520 -0.53202 0.037159
## Hazard Ratio 70 90.00 20.00 0.78081 NA 0.58742 1.037900
## wt.loss 0 15.75 15.75 -0.19042 0.10869 -0.40346 0.022618
## Hazard Ratio 0 15.75 15.75 0.82661 NA 0.66801 1.022900
5.Plot nomogram
surv <- Survival(f)
nom <- nomogram(f, fun=list(function(x) surv(36, x), function(x) surv(60, x),
function(x) surv(120, x)), lp=F, funlabel=c("3-year survival", "5-year survival", "10-year survival"),
maxscale=10, fun.at=c(0.95, 0.9, 0.85, 0.8, 0.75, 0.7, 0.6, 0.5))
plot(nom)
