| 
 |   
| version 1.150, 2014/06/18 16:42:35 | version 1.154, 2014/06/20 17:32:08 | 
|---|---|
| Line 1 | Line 1 | 
| /* $Id$ | /* $Id$ | 
| $State$ | $State$ | 
| $Log$ | $Log$ | 
| Revision 1.154 2014/06/20 17:32:08 brouard | |
| Summary: Outputs now all graphs of convergence to period prevalence | |
| Revision 1.153 2014/06/20 16:45:46 brouard | |
| Summary: If 3 live state, convergence to period prevalence on same graph | |
| Author: Brouard | |
| Revision 1.152 2014/06/18 17:54:09 brouard | |
| Summary: open browser, use gnuplot on same dir than imach if not found in the path | |
| Revision 1.151 2014/06/18 16:43:30 brouard | |
| *** empty log message *** | |
| Revision 1.150 2014/06/18 16:42:35 brouard | Revision 1.150 2014/06/18 16:42:35 brouard | 
| Summary: If gnuplot is not in the path try on same directory than imach binary (OSX) | Summary: If gnuplot is not in the path try on same directory than imach binary (OSX) | 
| Author: brouard | Author: brouard | 
| Line 503 extern int errno; | Line 516 extern int errno; | 
| /* $Id$ */ | /* $Id$ */ | 
| /* $State$ */ | /* $State$ */ | 
| char version[]="Imach version 0.98nT, January 2014,INED-EUROREVES-Institut de longevite-Japan Society for the Promotion of Science (Grant-in-Aid for Scientific Research 25293121)"; | char version[]="Imach version 0.98nU, January 2014,INED-EUROREVES-Institut de longevite-Japan Society for the Promotion of Science (Grant-in-Aid for Scientific Research 25293121)"; | 
| char fullversion[]="$Revision$ $Date$"; | char fullversion[]="$Revision$ $Date$"; | 
| char strstart[80]; | char strstart[80]; | 
| char optionfilext[10], optionfilefiname[FILENAMELENGTH]; | char optionfilext[10], optionfilefiname[FILENAMELENGTH]; | 
| Line 3882 fprintf(fichtm," \n<ul><li><b>Graphs</b> | Line 3895 fprintf(fichtm," \n<ul><li><b>Graphs</b> | 
| before but expressed in per year i.e. quasi incidences if stepm is small and probabilities too: <a href=\"%s%d_2.png\">%s%d_2.png</a><br> \ | before but expressed in per year i.e. quasi incidences if stepm is small and probabilities too: <a href=\"%s%d_2.png\">%s%d_2.png</a><br> \ | 
| <img src=\"%s%d_2.png\">",stepm,subdirf2(optionfilefiname,"pe"),jj1,subdirf2(optionfilefiname,"pe"),jj1,subdirf2(optionfilefiname,"pe"),jj1); | <img src=\"%s%d_2.png\">",stepm,subdirf2(optionfilefiname,"pe"),jj1,subdirf2(optionfilefiname,"pe"),jj1,subdirf2(optionfilefiname,"pe"),jj1); | 
| /* Period (stable) prevalence in each health state */ | /* Period (stable) prevalence in each health state */ | 
| for(cpt=1; cpt<nlstate;cpt++){ | for(cpt=1; cpt<=nlstate;cpt++){ | 
| fprintf(fichtm,"<br>- Period (stable) prevalence in each health state : <a href=\"%s%d_%d.png\">%s%d_%d.png</a><br> \ | fprintf(fichtm,"<br>- Convergence from each state (1 to %d) to period (stable) prevalence in state %d <a href=\"%s%d_%d.png\">%s%d_%d.png</a><br> \ | 
| <img src=\"%s%d_%d.png\">",subdirf2(optionfilefiname,"p"),cpt,jj1,subdirf2(optionfilefiname,"p"),cpt,jj1,subdirf2(optionfilefiname,"p"),cpt,jj1); | <img src=\"%s%d_%d.png\">",nlstate, cpt, subdirf2(optionfilefiname,"p"),cpt,jj1,subdirf2(optionfilefiname,"p"),cpt,jj1,subdirf2(optionfilefiname,"p"),cpt,jj1); | 
| } | } | 
| for(cpt=1; cpt<=nlstate;cpt++) { | for(cpt=1; cpt<=nlstate;cpt++) { | 
| fprintf(fichtm,"\n<br>- Life expectancy by health state (%d) at initial age and its decomposition into health expectancies : <a href=\"%s%d%d.png\">%s%d%d.png</a> <br> \ | fprintf(fichtm,"\n<br>- Life expectancy by health state (%d) at initial age and its decomposition into health expectancies in each alive state (1 to %d) : <a href=\"%s%d%d.png\">%s%d%d.png</a> <br> \ | 
| <img src=\"%s%d%d.png\">",cpt,subdirf2(optionfilefiname,"exp"),cpt,jj1,subdirf2(optionfilefiname,"exp"),cpt,jj1,subdirf2(optionfilefiname,"exp"),cpt,jj1); | <img src=\"%s%d%d.png\">",cpt,nlstate,subdirf2(optionfilefiname,"exp"),cpt,jj1,subdirf2(optionfilefiname,"exp"),cpt,jj1,subdirf2(optionfilefiname,"exp"),cpt,jj1); | 
| } | } | 
| } /* end i1 */ | } /* end i1 */ | 
| }/* End k1 */ | }/* End k1 */ | 
| Line 3984 void printinggnuplot(char fileres[], cha | Line 3997 void printinggnuplot(char fileres[], cha | 
| strcpy(dirfileres,optionfilefiname); | strcpy(dirfileres,optionfilefiname); | 
| strcpy(optfileres,"vpl"); | strcpy(optfileres,"vpl"); | 
| /* 1eme*/ | /* 1eme*/ | 
| fprintf(ficgp,"\n# 1st: Period (stable) prevalence with CI: 'vpl' files\n"); | |
| for (cpt=1; cpt<= nlstate ; cpt ++) { | for (cpt=1; cpt<= nlstate ; cpt ++) { | 
| for (k1=1; k1<= m ; k1 ++) { /* plot [100000000000000000000:-100000000000000000000] "mysbiaspar/vplrmysbiaspar.txt to check */ | for (k1=1; k1<= m ; k1 ++) { /* plot [100000000000000000000:-100000000000000000000] "mysbiaspar/vplrmysbiaspar.txt to check */ | 
| fprintf(ficgp,"\nset out \"%s%d_%d.png\" \n",subdirf2(optionfilefiname,"v"),cpt,k1); | fprintf(ficgp,"\nset out \"%s%d_%d.png\" \n",subdirf2(optionfilefiname,"v"),cpt,k1); | 
| Line 4011 plot [%.f:%.f] \"%s\" every :::%d::%d u | Line 4025 plot [%.f:%.f] \"%s\" every :::%d::%d u | 
| } | } | 
| } | } | 
| /*2 eme*/ | /*2 eme*/ | 
| fprintf(ficgp,"\n# 2nd: Total life expectancy with CI: 't' files\n"); | |
| for (k1=1; k1<= m ; k1 ++) { | for (k1=1; k1<= m ; k1 ++) { | 
| fprintf(ficgp,"\nset out \"%s%d.png\" \n",subdirf2(optionfilefiname,"e"),k1); | fprintf(ficgp,"\nset out \"%s%d.png\" \n",subdirf2(optionfilefiname,"e"),k1); | 
| fprintf(ficgp,"set ylabel \"Years\" \nset ter png small size 320, 240\nplot [%.f:%.f] ",ageminpar,fage); | fprintf(ficgp,"set ylabel \"Years\" \nset ter png small size 320, 240\nplot [%.f:%.f] ",ageminpar,fage); | 
| Line 4068 plot [%.f:%.f] \"%s\" every :::%d::%d u | Line 4082 plot [%.f:%.f] \"%s\" every :::%d::%d u | 
| } | } | 
| /* CV preval stable (period) */ | /* CV preval stable (period) */ | 
| for (k1=1; k1<= m ; k1 ++) { | for (k1=1; k1<= m ; k1 ++) { /* For each multivariate if any */ | 
| for (cpt=1; cpt<=nlstate ; cpt ++) { | for (cpt=1; cpt<=nlstate ; cpt ++) { /* For each life state */ | 
| k=3; | k=3; | 
| fprintf(ficgp,"\n#\n#\n#CV preval stable (period): 'pij' files, cov=%d state=%d",k1, cpt); | |
| fprintf(ficgp,"\nset out \"%s%d_%d.png\" \n",subdirf2(optionfilefiname,"p"),cpt,k1); | fprintf(ficgp,"\nset out \"%s%d_%d.png\" \n",subdirf2(optionfilefiname,"p"),cpt,k1); | 
| fprintf(ficgp,"set xlabel \"Age\" \nset ylabel \"Probability\" \n\ | fprintf(ficgp,"set xlabel \"Age\" \nset ylabel \"Probability\" \n\ | 
| set ter png small size 320, 240\n\ | set ter png small size 320, 240\n\ | 
| unset log y\n\ | unset log y\n\ | 
| plot [%.f:%.f] \"%s\" u ($1==%d ? ($3):1/0):($%d/($%d",ageminpar,agemaxpar,subdirf2(fileres,"pij"),k1,k+cpt+1,k+1); | plot [%.f:%.f] ", ageminpar, agemaxpar); | 
| for (i=1; i<= nlstate ; i ++){ | |
| for (i=1; i< nlstate ; i ++) | if(i==1) | 
| fprintf(ficgp,"+$%d",k+i+1); | fprintf(ficgp,"\"%s\"",subdirf2(fileres,"pij")); | 
| fprintf(ficgp,")) t\"prev(%d,%d)\" w l",cpt,cpt+1); | else | 
| fprintf(ficgp,", '' "); | |
| l=3+(nlstate+ndeath)*cpt; | l=(nlstate+ndeath)*(i-1)+1; | 
| fprintf(ficgp,",\"%s\" u ($1==%d ? ($3):1/0):($%d/($%d",subdirf2(fileres,"pij"),k1,l+cpt+1,l+1); | fprintf(ficgp," u ($1==%d ? ($3):1/0):($%d/($%d",k1,k+l+(cpt-1),k+l); | 
| for (i=1; i< nlstate ; i ++) { | for (j=1; j<= (nlstate-1) ; j ++) | 
| l=3+(nlstate+ndeath)*cpt; | fprintf(ficgp,"+$%d",k+l+j); | 
| fprintf(ficgp,"+$%d",l+i+1); | fprintf(ficgp,")) t \"prev(%d,%d)\" w l",i,cpt); | 
| } | } /* nlstate */ | 
| fprintf(ficgp,")) t\"prev(%d,%d)\" w l\n",cpt+1,cpt+1); | fprintf(ficgp,"\n"); | 
| } | } /* end cpt state*/ | 
| } | } /* end covariate */ | 
| /* proba elementaires */ | /* proba elementaires */ | 
| for(i=1,jk=1; i <=nlstate; i++){ | for(i=1,jk=1; i <=nlstate; i++){ | 
| Line 6667 Interval (in months) between two waves: | Line 6682 Interval (in months) between two waves: | 
| printf("Starting graphs with: %s\n",plotcmd);fflush(stdout); | printf("Starting graphs with: %s\n",plotcmd);fflush(stdout); | 
| if((outcmd=system(plotcmd)) != 0){ | if((outcmd=system(plotcmd)) != 0){ | 
| printf("\n Problem with gnuplot command %s\n"plotcmd); | printf("gnuplot command might not be in your path: %s, err=%d\n", plotcmd, outcmd); | 
| printf("\n Trying on same directory\n"); | printf("\n Trying if gnuplot resides on the same directory that IMaCh\n"); | 
| sprintf(plotcmd,"./gnuplot %s", optionfilegnuplot); | sprintf(plotcmd,"%sgnuplot %s", pathimach, optionfilegnuplot); | 
| if((outcmd=system(plotcmd)) != 0) | if((outcmd=system(plotcmd)) != 0) | 
| printf("\n Still a problem with gnuplot command %s\n", plotcmd); | printf("\n Still a problem with gnuplot command %s, err=%d\n", plotcmd, outcmd); | 
| } | } | 
| printf(" Wait..."); | printf(" Successul, please wait..."); | 
| while (z[0] != 'q') { | while (z[0] != 'q') { | 
| /* chdir(path); */ | /* chdir(path); */ | 
| printf("\nType e to edit output files, g to graph again and q for exiting: "); | printf("\nType e to edit results with your browser, g to graph again and q for exit: "); | 
| scanf("%s",z); | scanf("%s",z); | 
| /* if (z[0] == 'c') system("./imach"); */ | /* if (z[0] == 'c') system("./imach"); */ | 
| if (z[0] == 'e') { | if (z[0] == 'e') { | 
| printf("Starting browser with: %s",optionfilehtm);fflush(stdout); | #ifdef OSX | 
| system(optionfilehtm); | sprintf(pplotcmd, "open %s", optionfilehtm); | 
| #else | |
| sprintf(pplotcmd, "%s", optionfilehtm); | |
| #endif | |
| printf("Starting browser with: %s",pplotcmd);fflush(stdout); | |
| system(pplotcmd); | |
| } | } | 
| else if (z[0] == 'g') system(plotcmd); | else if (z[0] == 'g') system(plotcmd); | 
| else if (z[0] == 'q') exit(0); | else if (z[0] == 'q') exit(0); |