From jago@mclink.it  Sat Nov 16 08:48:52 2002
From: jago@mclink.it (Stefano Iacus)
Date: Sat, 16 Nov 2002 09:48:52 +0100
Subject: survreg (survival) reports erroneous results for left-censored data (PR#2287)
In-Reply-To: <Pine.A41.4.44.0211151532160.137762-100000@homer36.u.washington.edu>
Message-ID: <3BB46CA9-F940-11D6-9DF4-003065CC4CB8@mclink.it>

Thomas,
you were right. It works now. This is what I get with Carbon R and the 
patched survival package.
I will upload a patched version of survivalLib. Can you please fix 
SurvS.h sources?
Stefano


 > survreg(Surv(c(0,1,-1),c(T,T,F),type='left')~1,dist='gaussian')
Call:
survreg(formula = Surv(c(0, 1, -1), c(T, T, F), type = "left") ~
     1, dist = "gaussian")

Coefficients:
(Intercept)
  -0.2321569

Scale= 1.161135

Loglik(model)= -4.1   Loglik(intercept only)= -4.1
n= 3

On Saturday, November 16, 2002, at 12:59 AM, Thomas Lumley wrote:

>
>  I think it's a problem with the erfc macro in survS.h, which is 
> defined
> as
> #ifndef erfc
> #define erfc(x) 2*pnorm5(-x*M_SQRT2,0,1,1,0)
> #endif
>
> The problem is that in survreg2.c we call erf(-z/ROOT_2), which 
> expands to
> 2*pnorm5(--z/ROOT_2*SQRT2,0,1,1,0), and the -- becomes a predecrement
> operator.   I hate macros.
>
> If so, the fix would be
> #ifndef erfc
> #define erfc(x) 2*pnorm5(-(x)*M_SQRT2,0,1,1,0)
> #endif
>
> 	-thomas
>
>

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-devel-request@stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._


survreg (survival) reports erroneous results for left-censored data (PR#2287)
Stefano Iacus