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

Stefano Iacus jago@mclink.it
Sat, 16 Nov 2002 09:48:52 +0100


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
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._