--- imach/src/imach.c 2006/03/15 17:42:26 1.119 +++ imach/src/imach.c 2006/03/16 17:45:01 1.121 @@ -1,6 +1,18 @@ -/* $Id: imach.c,v 1.119 2006/03/15 17:42:26 brouard Exp $ +/* $Id: imach.c,v 1.121 2006/03/16 17:45:01 lievre Exp $ $State: Exp $ $Log: imach.c,v $ + Revision 1.121 2006/03/16 17:45:01 lievre + * imach.c (Module): Comments concerning covariates added + + * imach.c (Module): refinements in the computation of lli if + status=-2 in order to have more reliable computation if stepm is + not 1 month. Version 0.98f + + Revision 1.120 2006/03/16 15:10:38 lievre + (Module): refinements in the computation of lli if + status=-2 in order to have more reliable computation if stepm is + not 1 month. Version 0.98f + Revision 1.119 2006/03/15 17:42:26 brouard (Module): Bug if status = -2, the loglikelihood was computed as likelihood omitting the logarithm. Version O.98e @@ -326,11 +338,11 @@ extern int errno; #define ODIRSEPARATOR '/' #endif -/* $Id: imach.c,v 1.119 2006/03/15 17:42:26 brouard Exp $ */ +/* $Id: imach.c,v 1.121 2006/03/16 17:45:01 lievre Exp $ */ /* $State: Exp $ */ -char version[]="Imach version 0.98e, March 2006, INED-EUROREVES-Institut de longevite "; -char fullversion[]="$Revision: 1.119 $ $Date: 2006/03/15 17:42:26 $"; +char version[]="Imach version 0.98f, March 2006, INED-EUROREVES-Institut de longevite "; +char fullversion[]="$Revision: 1.121 $ $Date: 2006/03/16 17:45:01 $"; char strstart[80]; char optionfilext[10], optionfilefiname[FILENAMELENGTH]; int erreur, nberr=0, nbwarn=0; /* Error number, number of errors number of warnings */ @@ -1386,23 +1398,23 @@ double func( double *x) } else if (s2==-2) { for (j=1,survp=0. ; j<=nlstate; j++) - survp += out[s1][j]; + survp += (1.+bbh)*out[s1][j]- bbh*savm[s1][j]; + /*survp += out[s1][j]; */ lli= log(survp); } -/* else if (s2==-4) { */ -/* for (j=3,survp=0. ; j<=nlstate; j++) */ -/* survp += out[s1][j]; */ -/* lli= survp; */ -/* } */ - -/* else if (s2==-5) { */ -/* for (j=1,survp=0. ; j<=2; j++) */ -/* survp += out[s1][j]; */ -/* lli= survp; */ -/* } */ - + else if (s2==-4) { + for (j=3,survp=0. ; j<=nlstate; j++) + survp += (1.+bbh)*out[s1][j]- bbh*savm[s1][j]; + lli= log(survp); + } + else if (s2==-5) { + for (j=1,survp=0. ; j<=2; j++) + survp += (1.+bbh)*out[s1][j]- bbh*savm[s1][j]; + lli= log(survp); + } + else{ lli= log((1.+bbh)*out[s1][s2]- bbh*savm[s1][s2]); /* linear interpolation */ /* lli= (savm[s1][s2]>(double)1.e-8 ?log((1.+bbh)*out[s1][s2]- bbh*(savm[s1][s2])):log((1.+bbh)*out[s1][s2]));*/ /* linear interpolation */ @@ -1599,7 +1611,7 @@ double funcone( double *x) lli=log(out[s1][s2] - savm[s1][s2]); } else if (s2==-2) { for (j=1,survp=0. ; j<=nlstate; j++) - survp += out[s1][j]; + survp += (1.+bbh)*out[s1][j]- bbh*savm[s1][j]; lli= log(survp); }else if (mle==1){ lli= log((1.+bbh)*out[s1][s2]- bbh*savm[s1][s2]); /* linear interpolation */ @@ -3448,7 +3460,7 @@ void printinghtml(char fileres[], char t - Period (stable) prevalence in each health state: %s
\n", subdirf2(fileres,"pl"),subdirf2(fileres,"pl")); fprintf(fichtm,"\ - - (a) Life expectancies by health status at initial age, (b) health expectancies by health status at initial age: ei., eij (estepm=%2d months): \ + - (a) Life expectancies by health status at initial age, (b) health expectancies by health status at initial age: ei., eij . If one or more covariate are included, specific tables for each value of the covariate are output in sequences within the same file (estepm=%2d months): \ %s
\n", estepm,subdirf2(fileres,"e"),subdirf2(fileres,"e"));