--- 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"));