On Tue, 5 Oct 2004, Wu, Tongtong wrote:

Hi,

I am taking a survival class.  Recently I need to do the Nelson-Aalen
estimtor in R.  I searched through the R help manual and internet, but could
not find such a R function.  I tried another way by calculating the
Kaplan-Meier estimator and take -log(S).  However, the function only
provides the summary of KM estimator but no estimated values.  Could you
please help me with this?  I would highly appreciate your great help!


Taking -log(KM) does not give the Nelson-Aalen estimator, though it does give another consistent estimator of the cumulative hazard function.


The easiest way to get the Nelson-Aalen estimator is
basehaz(coxph(Surv(time,status)~1,data=aml))
because the (Breslow) hazard estimator for a Cox model reduces to the Nelson-Aalen estimator when there are no covariates.


You can also compute it from information returned by survfit().

fit <- survfit(Surv(time, status) ~ 1, data = aml)
str(fit)
List of 12
 $ n        : int 23
 $ time     : num [1:18] 5 8 9 12 13 16 18 23 27 28 ...
 $ n.risk   : num [1:18] 23 21 19 18 17 15 14 13 11 10 ...
 $ n.event  : num [1:18] 2 2 1 1 1 0 1 2 1 0 ...
 $ surv     : num [1:18] 0.913 0.826 0.783 0.739 0.696 ...
 $ type     : chr "right"
 $ std.err  : num [1:18] 0.0643 0.0957 0.1099 0.1239 0.1379 ...
 $ upper    : num [1:18] 1.000 0.996 0.971 0.942 0.912 ...
 $ lower    : num [1:18] 0.805 0.685 0.631 0.580 0.531 ...
 $ conf.type: chr "log"
 $ conf.int : num 0.95
 $ call     : language survfit(formula = Surv(time, status) ~ 1, data = aml)
 - attr(*, "class")= chr "survfit"

so cumsum(fit$n.event/fit$n.risk) is the Nelson-Aalen estimator for the times given by fit$times.

If you want -log(S), then -log(fit$surv) will give it to you.


-thomas

______________________________________________
[EMAIL PROTECTED] mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to