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