]> henry.ined.fr Git - .git/commitdiff
(Module): Weights can have a decimal point as for
authorN. Brouard <brouard@ined.fr>
Mon, 20 Mar 2006 09:45:41 +0000 (09:45 +0000)
committerN. Brouard <brouard@ined.fr>
Mon, 20 Mar 2006 09:45:41 +0000 (09:45 +0000)
English (a comma might work with a correct LC_NUMERIC environment,
otherwise the weight is truncated).
Modification of warning when the covariates values are not 0 or
1.
Version 0.98g

src/imach.c

index f2591ad1d683a6fedf93f3e45f7efd5cf54b1502..48445d641c8ccd9fcad9010b61de9dfdab2e97d7 100644 (file)
@@ -1,6 +1,13 @@
 /* $Id$
   $State$
   $Log$
+  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
@@ -334,7 +341,7 @@ extern int errno;
 /* $Id$ */
 /* $State$ */
 
-char version[]="Imach version 0.98f, March 2006, INED-EUROREVES-Institut de longevite ";
+char version[]="Imach version 0.98g, March 2006, INED-EUROREVES-Institut de longevite ";
 char fullversion[]="$Revision$ $Date$"; 
 char strstart[80];
 char optionfilext[10], optionfilefiname[FILENAMELENGTH];
@@ -409,6 +416,7 @@ char strcurr[80], strfor[80];
 
 char *endptr;
 long lval;
+double dval;
 
 #define NR_END 1
 #define FREE_ARG char*
@@ -4806,12 +4814,12 @@ int main(int argc, char *argv[])
     
     cutv(stra, strb,line,' '); 
     errno=0;
-    lval=strtol(strb,&endptr,10); 
+    dval=strtod(strb,&endptr); 
     if( strb[0]=='\0' || (*endptr != '\0')){
-      printf("Error reading data around '%d' at line number %ld %s for individual %d\nShould be a weight.  Exiting.\n",lval, i,line,linei);
+      printf("Error reading data around '%f' at line number %ld, \"%s\" for individual %d\nShould be a weight.  Exiting.\n",dval, i,line,linei);
       exit(1);
     }
-    weight[i]=(double)(lval)
+    weight[i]=dval
     strcpy(line,stra);
     
     for (j=ncovcol;j>=1;j--){
@@ -4823,7 +4831,15 @@ int main(int argc, char *argv[])
        exit(1);
       }
       if(lval <-1 || lval >1){
-       printf("Error reading data around '%d' at line number %ld %s for individual %d, '%s'\nShould be a value of the %d covar (meaning 0 for the reference or 1. IMaCh does not build design variables, do it your self).  Exiting.\n",lval,linei, i,line,j);
+       printf("Error reading data around '%d' at line number %ld for individual %d, '%s'\n \
+ Should be a value of %d(nth) covariate (0 should be the value for the reference and 1\n \
+ for the alternative. IMaCh does not build design variables automatically, do it yourself.\n \
+ For example, for multinomial values like 1, 2 and 3,\n \
+ build V1=0 V2=0 for the reference value (1),\n \
+        V1=1 V2=0 for (2) \n \
+ and V1=0 V2=1 for (3). V1=1 V2=1 should not exist and the corresponding\n \
+ output of IMaCh is often meaningless.\n \
+ Exiting.\n",lval,linei, i,line,j);
        exit(1);
       }
       covar[j][i]=(double)(lval);