|
|
| version 1.269, 2017/05/23 08:39:25 | version 1.276, 2017/06/30 15:48:31 |
|---|---|
| Line 1 | Line 1 |
| /* $Id$ | /* $Id$ |
| $State$ | $State$ |
| $Log$ | $Log$ |
| Revision 1.276 2017/06/30 15:48:31 brouard | |
| Summary: Graphs improvements | |
| Revision 1.275 2017/06/30 13:39:33 brouard | |
| Summary: Saito's color | |
| Revision 1.274 2017/06/29 09:47:08 brouard | |
| Summary: Version 0.99r14 | |
| Revision 1.273 2017/06/27 11:06:02 brouard | |
| Summary: More documentation on projections | |
| Revision 1.272 2017/06/27 10:22:40 brouard | |
| Summary: Color of backprojection changed from 6 to 5(yellow) | |
| Revision 1.271 2017/06/27 10:17:50 brouard | |
| Summary: Some bug with rint | |
| Revision 1.270 2017/05/24 05:45:29 brouard | |
| *** empty log message *** | |
| Revision 1.269 2017/05/23 08:39:25 brouard | Revision 1.269 2017/05/23 08:39:25 brouard |
| Summary: Code into subroutine, cleanings | Summary: Code into subroutine, cleanings |
| Line 3240 double ***hbxij(double ***po, int nhstep | Line 3261 double ***hbxij(double ***po, int nhstep |
| newm=savm; | newm=savm; |
| /* Covariates have to be included here again */ | /* Covariates have to be included here again */ |
| cov[1]=1.; | cov[1]=1.; |
| agexact=age-((h-1)*hstepm + (d))*stepm/YEARM; /* age just before transition, d or d-1? */ | agexact=age-( (h-1)*hstepm + (d) )*stepm/YEARM; /* age just before transition, d or d-1? */ |
| /* agexact=age+((h-1)*hstepm + (d-1))*stepm/YEARM; /\* age just before transition *\/ */ | /* agexact=age+((h-1)*hstepm + (d-1))*stepm/YEARM; /\* age just before transition *\/ */ |
| cov[2]=agexact; | cov[2]=agexact; |
| if(nagesqr==1) | if(nagesqr==1) |
| Line 3842 void likelione(FILE *ficres,double p[], | Line 3863 void likelione(FILE *ficres,double p[], |
| else if(mle >=1) | else if(mle >=1) |
| fprintf(fichtm,"\n<br>File of contributions to the likelihood computed with optimized parameters mle = %d.",mle); | fprintf(fichtm,"\n<br>File of contributions to the likelihood computed with optimized parameters mle = %d.",mle); |
| fprintf(fichtm," You should at least run with mle >= 1 to get starting values corresponding to the optimized parameters in order to visualize the real contribution of each individual/wave: <a href=\"%s\">%s</a><br>\n",subdirf(fileresilk),subdirf(fileresilk)); | fprintf(fichtm," You should at least run with mle >= 1 to get starting values corresponding to the optimized parameters in order to visualize the real contribution of each individual/wave: <a href=\"%s\">%s</a><br>\n",subdirf(fileresilk),subdirf(fileresilk)); |
| fprintf(fichtm,"\n<br>Equation of the model: <b>model=1+age+%s</b><br>\n",model); | |
| for (k=1; k<= nlstate ; k++) { | for (k=1; k<= nlstate ; k++) { |
| fprintf(fichtm,"<br>- Probability p<sub>%dj</sub> by origin %d and destination j. Dot's sizes are related to corresponding weight: <a href=\"%s-p%dj.png\">%s-p%dj.png</a><br> \ | fprintf(fichtm,"<br>- Probability p<sub>%dj</sub> by origin %d and destination j. Dot's sizes are related to corresponding weight: <a href=\"%s-p%dj.png\">%s-p%dj.png</a><br> \ |
| Line 5464 void concatwav(int wav[], int **dh, int | Line 5485 void concatwav(int wav[], int **dh, int |
| /* hstepm beeing the number of stepms, if hstepm=1 the length of hstepm is stepm. | /* hstepm beeing the number of stepms, if hstepm=1 the length of hstepm is stepm. |
| nhstepm is the number of hstepm from age to agelim | nhstepm is the number of hstepm from age to agelim |
| nstepm is the number of stepm from age to agelin. | nstepm is the number of stepm from age to agelin. |
| Look at hpijx to understand the reason of that which relies in memory size | Look at hpijx to understand the reason which relies in memory size consideration |
| and note for a fixed period like estepm months */ | and note for a fixed period like estepm months */ |
| /* We decided (b) to get a life expectancy respecting the most precise curvature of the | /* We decided (b) to get a life expectancy respecting the most precise curvature of the |
| survival function given by stepm (the optimization length). Unfortunately it | survival function given by stepm (the optimization length). Unfortunately it |
| Line 6655 void printinghtml(char fileresu[], char | Line 6676 void printinghtml(char fileresu[], char |
| int lastpass, int stepm, int weightopt, char model[],\ | int lastpass, int stepm, int weightopt, char model[],\ |
| int imx,int jmin, int jmax, double jmeanint,char rfileres[],\ | int imx,int jmin, int jmax, double jmeanint,char rfileres[],\ |
| int popforecast, int mobilav, int prevfcast, int mobilavproj, int backcast, int estepm , \ | int popforecast, int mobilav, int prevfcast, int mobilavproj, int backcast, int estepm , \ |
| double jprev1, double mprev1,double anprev1, double dateprev1, \ | double jprev1, double mprev1,double anprev1, double dateprev1, double dateproj1, double dateback1, \ |
| double jprev2, double mprev2,double anprev2, double dateprev2){ | double jprev2, double mprev2,double anprev2, double dateprev2, double dateproj2, double dateback2){ |
| int jj1, k1, i1, cpt, k4, nres; | int jj1, k1, i1, cpt, k4, nres; |
| fprintf(fichtm,"<ul><li><a href='#firstorder'>Result files (first order: no variance)</a>\n \ | fprintf(fichtm,"<ul><li><a href='#firstorder'>Result files (first order: no variance)</a>\n \ |
| Line 6810 divided by h: <sub>h</sub>P<sub>ij</sub> | Line 6831 divided by h: <sub>h</sub>P<sub>ij</sub> |
| if(prevfcast==1){ | if(prevfcast==1){ |
| /* Projection of prevalence up to period (stable) prevalence in each health state */ | /* Projection of prevalence up to period (stable) prevalence in each health state */ |
| for(cpt=1; cpt<=nlstate;cpt++){ | for(cpt=1; cpt<=nlstate;cpt++){ |
| fprintf(fichtm,"<br>\n- Projection of cross-sectional prevalence (estimated with cases observed from %.1f to %.1f and mobil_average=%d) up to period (stable) prevalence in state %d. Or probability to be in state %d being in an observed weighted state (from 1 to %d). <a href=\"%s_%d-%d-%d.svg\">%s_%d-%d-%d.svg</a><br> \ | fprintf(fichtm,"<br>\n- Projection of cross-sectional prevalence (estimated with cases observed from %.1f to %.1f and mobil_average=%d), from year %.1f up to year %.1f tending to period (stable) prevalence in state %d. Or probability to be in state %d being in an observed weighted state (from 1 to %d). <a href=\"%s_%d-%d-%d.svg\">%s_%d-%d-%d.svg</a><br> \ |
| <img src=\"%s_%d-%d-%d.svg\">", dateprev1, dateprev2, mobilavproj, cpt, cpt, nlstate, subdirf2(optionfilefiname,"PROJ_"),cpt,k1,nres,subdirf2(optionfilefiname,"PROJ_"),cpt,k1,nres,subdirf2(optionfilefiname,"PROJ_"),cpt,k1,nres); | <img src=\"%s_%d-%d-%d.svg\">", dateprev1, dateprev2, mobilavproj, dateproj1, dateproj2, cpt, cpt, nlstate, subdirf2(optionfilefiname,"PROJ_"),cpt,k1,nres,subdirf2(optionfilefiname,"PROJ_"),cpt,k1,nres,subdirf2(optionfilefiname,"PROJ_"),cpt,k1,nres); |
| } | } |
| } | } |
| if(backcast==1){ | if(backcast==1){ |
| /* Back projection of prevalence up to stable (mixed) back-prevalence in each health state */ | /* Back projection of prevalence up to stable (mixed) back-prevalence in each health state */ |
| for(cpt=1; cpt<=nlstate;cpt++){ | for(cpt=1; cpt<=nlstate;cpt++){ |
| fprintf(fichtm,"<br>\n- Back projection of cross-sectional prevalence (estimated with cases observed from %.1f to %.1f and mobil_average=%d) up to stable (mixed) back prevalence in state %d. Or probability to have been in an state %d, knowing that the person was in either state (1 or %d) with weights corresponding to observed prevalence at different ages. <a href=\"%s_%d-%d-%d.svg\">%s_%d-%d-%d.svg</a><br> \ | fprintf(fichtm,"<br>\n- Back projection of cross-sectional prevalence (estimated with cases observed from %.1f to %.1f and mobil_average=%d), \ |
| <img src=\"%s_%d-%d-%d.svg\">", dateprev1, dateprev2, mobilavproj, cpt, cpt, nlstate, subdirf2(optionfilefiname,"PROJB_"),cpt,k1,nres,subdirf2(optionfilefiname,"PROJB_"),cpt,k1,nres,subdirf2(optionfilefiname,"PROJB_"),cpt,k1,nres); | from year %.1f up to year %.1f (probably close to stable [mixed] back prevalence in state %d (randomness in cross-sectional prevalence is not taken into \ |
| account but can visually be appreciated). Or probability to have been in an state %d, knowing that the person was in either state (1 or %d) \ | |
| with weights corresponding to observed prevalence at different ages. <a href=\"%s_%d-%d-%d.svg\">%s_%d-%d-%d.svg</a><br> \ | |
| <img src=\"%s_%d-%d-%d.svg\">", dateprev1, dateprev2, mobilavproj, dateback1, dateback2, cpt, cpt, nlstate, subdirf2(optionfilefiname,"PROJB_"),cpt,k1,nres,subdirf2(optionfilefiname,"PROJB_"),cpt,k1,nres,subdirf2(optionfilefiname,"PROJB_"),cpt,k1,nres); | |
| } | } |
| } | } |
| Line 6924 true period expectancies (those weighted | Line 6948 true period expectancies (those weighted |
| } | } |
| /******************* Gnuplot file **************/ | /******************* Gnuplot file **************/ |
| void printinggnuplot(char fileresu[], char optionfilefiname[], double ageminpar, double agemaxpar, double fage , int prevfcast, int backcast, char pathc[], double p[], int offyear, int offbyear){ | void printinggnuplot(char fileresu[], char optionfilefiname[], double ageminpar, double agemaxpar, double bage, double fage , int prevfcast, int backcast, char pathc[], double p[], int offyear, int offbyear){ |
| char dirfileres[132],optfileres[132]; | char dirfileres[132],optfileres[132]; |
| char gplotcondition[132], gplotlabel[132]; | char gplotcondition[132], gplotlabel[132]; |
| Line 6933 void printinggnuplot(char fileresu[], ch | Line 6957 void printinggnuplot(char fileresu[], ch |
| int ng=0; | int ng=0; |
| int vpopbased; | int vpopbased; |
| int ioffset; /* variable offset for columns */ | int ioffset; /* variable offset for columns */ |
| int iyearc=1; /* variable column for year of projection */ | |
| int iagec=1; /* variable column for age of projection */ | |
| int nres=0; /* Index of resultline */ | int nres=0; /* Index of resultline */ |
| int istart=1; /* For starting graphs in projections */ | int istart=1; /* For starting graphs in projections */ |
| Line 6946 void printinggnuplot(char fileresu[], ch | Line 6972 void printinggnuplot(char fileresu[], ch |
| /*#endif */ | /*#endif */ |
| m=pow(2,cptcoveff); | m=pow(2,cptcoveff); |
| /* diagram of the model */ | |
| fprintf(ficgp,"\n#Diagram of the model \n"); | |
| fprintf(ficgp,"\ndelta=0.03;delta2=0.07;unset arrow;\n"); | |
| fprintf(ficgp,"yoff=(%d > 2? 0:1);\n",nlstate); | |
| fprintf(ficgp,"\n#Peripheral arrows\nset for [i=1:%d] for [j=1:%d] arrow i*10+j from cos(pi*((1-(%d/2)*2./%d)/2+(i-1)*2./%d))-(i!=j?(i-j)/abs(i-j)*delta:0), yoff +sin(pi*((1-(%d/2)*2./%d)/2+(i-1)*2./%d)) + (i!=j?(i-j)/abs(i-j)*delta:0) rto -0.95*(cos(pi*((1-(%d/2)*2./%d)/2+(i-1)*2./%d))+(i!=j?(i-j)/abs(i-j)*delta:0) - cos(pi*((1-(%d/2)*2./%d)/2+(j-1)*2./%d)) + (i!=j?(i-j)/abs(i-j)*delta2:0)), -0.95*(sin(pi*((1-(%d/2)*2./%d)/2+(i-1)*2./%d)) + (i!=j?(i-j)/abs(i-j)*delta:0) - sin(pi*((1-(%d/2)*2./%d)/2+(j-1)*2./%d))+( i!=j?(i-j)/abs(i-j)*delta2:0)) ls (i < j? 1:2)\n",nlstate,nlstate,nlstate,nlstate,nlstate,nlstate,nlstate,nlstate,nlstate,nlstate,nlstate,nlstate,nlstate,nlstate,nlstate,nlstate,nlstate,nlstate,nlstate,nlstate); | |
| fprintf(ficgp,"\n#Centripete arrows (turning in other direction (1-i) instead of (i-1)) \nset for [i=1:%d] arrow (%d+1)*10+i from cos(pi*((1-(%d/2)*2./%d)/2+(1-i)*2./%d))-(i!=j?(i-j)/abs(i-j)*delta:0), yoff +sin(pi*((1-(%d/2)*2./%d)/2+(1-i)*2./%d)) + (i!=j?(i-j)/abs(i-j)*delta:0) rto -0.80*(cos(pi*((1-(%d/2)*2./%d)/2+(1-i)*2./%d))+(i!=j?(i-j)/abs(i-j)*delta:0) ), -0.80*(sin(pi*((1-(%d/2)*2./%d)/2+(1-i)*2./%d)) + (i!=j?(i-j)/abs(i-j)*delta:0) + yoff ) ls 4\n",nlstate,nlstate,nlstate,nlstate,nlstate,nlstate,nlstate,nlstate,nlstate,nlstate,nlstate,nlstate,nlstate,nlstate); | |
| fprintf(ficgp,"\n#show arrow\nunset label\n"); | |
| fprintf(ficgp,"\n#States labels, starting from 2 (2-i) instead of (1-i), was (i-1)\nset for [i=1:%d] label i sprintf(\"State %%d\",i) center at cos(pi*((1-(%d/2)*2./%d)/2+(2-i)*2./%d)), yoff+sin(pi*((1-(%d/2)*2./%d)/2+(2-i)*2./%d)) font \"helvetica, 16\" tc rgbcolor \"blue\"\n",nlstate,nlstate,nlstate,nlstate,nlstate,nlstate,nlstate); | |
| fprintf(ficgp,"\nset label %d+1 sprintf(\"State %%d\",%d+1) center at 0.,0. font \"helvetica, 16\" tc rgbcolor \"red\"\n",nlstate,nlstate); | |
| fprintf(ficgp,"\n#show label\nunset border;unset xtics; unset ytics;\n"); | |
| fprintf(ficgp,"\n\nset ter svg size 640, 480;set out \"%s_.svg\" \n",subdirf2(optionfilefiname,"D_")); | |
| fprintf(ficgp,"unset log y; plot [-1.2:1.2][yoff-1.2:1.2] 1/0 not; set out;reset;\n"); | |
| /* Contribution to likelihood */ | /* Contribution to likelihood */ |
| /* Plot the probability implied in the likelihood */ | /* Plot the probability implied in the likelihood */ |
| fprintf(ficgp,"\n# Contributions to the Likelihood, mle >=1. For mle=4 no interpolation, pure matrix products.\n#\n"); | fprintf(ficgp,"\n# Contributions to the Likelihood, mle >=1. For mle=4 no interpolation, pure matrix products.\n#\n"); |
| Line 7015 void printinggnuplot(char fileresu[], ch | Line 7055 void printinggnuplot(char fileresu[], ch |
| fprintf(ficgp,"\nset out \"%s_%d-%d-%d.svg\" \n",subdirf2(optionfilefiname,"V_"),cpt,k1,nres); | fprintf(ficgp,"\nset out \"%s_%d-%d-%d.svg\" \n",subdirf2(optionfilefiname,"V_"),cpt,k1,nres); |
| fprintf(ficgp,"\n#set out \"V_%s_%d-%d-%d.svg\" \n",optionfilefiname,cpt,k1,nres); | fprintf(ficgp,"\n#set out \"V_%s_%d-%d-%d.svg\" \n",optionfilefiname,cpt,k1,nres); |
| fprintf(ficgp,"set label \"Alive state %d %s\" at graph 0.98,0.5 center rotate font \"Helvetica,12\"\n",cpt,gplotlabel); | /* fprintf(ficgp,"set label \"Alive state %d %s\" at graph 0.98,0.5 center rotate font \"Helvetica,12\"\n",cpt,gplotlabel); */ |
| fprintf(ficgp,"set title \"Alive state %d %s\" font \"Helvetica,12\"\n",cpt,gplotlabel); | |
| fprintf(ficgp,"set xlabel \"Age\" \nset ylabel \"Probability\" \nset ter svg size 640, 480\nplot [%.f:%.f] \"%s\" every :::%d::%d u 1:($2==%d ? $3:1/0) \"%%lf %%lf",ageminpar,fage,subdirf2(fileresu,"VPL_"),nres-1,nres-1,nres); | fprintf(ficgp,"set xlabel \"Age\" \nset ylabel \"Probability\" \nset ter svg size 640, 480\nplot [%.f:%.f] \"%s\" every :::%d::%d u 1:($2==%d ? $3:1/0) \"%%lf %%lf",ageminpar,fage,subdirf2(fileresu,"VPL_"),nres-1,nres-1,nres); |
| /* fprintf(ficgp,"set xlabel \"Age\" \nset ylabel \"Probability\" \nset ter svg size 640, 480\nplot [%.f:%.f] \"%s\" every :::%d::%d u 1:($2==%d ? $3:1/0) \"%%lf %%lf",ageminpar,fage,subdirf2(fileresu,"VPL_"),k1-1,k1-1,nres); */ | /* fprintf(ficgp,"set xlabel \"Age\" \nset ylabel \"Probability\" \nset ter svg size 640, 480\nplot [%.f:%.f] \"%s\" every :::%d::%d u 1:($2==%d ? $3:1/0) \"%%lf %%lf",ageminpar,fage,subdirf2(fileresu,"VPL_"),k1-1,k1-1,nres); */ |
| /* k1-1 error should be nres-1*/ | /* k1-1 error should be nres-1*/ |
| Line 7037 void printinggnuplot(char fileresu[], ch | Line 7078 void printinggnuplot(char fileresu[], ch |
| fprintf(ficgp,"\" t\"\" w l lt 1,\"%s\" u 1:((",subdirf2(fileresu,"P_")); | fprintf(ficgp,"\" t\"\" w l lt 1,\"%s\" u 1:((",subdirf2(fileresu,"P_")); |
| if(cptcoveff ==0){ | if(cptcoveff ==0){ |
| fprintf(ficgp,"$%d)) t 'Observed prevalence in state %d' with line lt 3", 2+(cpt-1), cpt ); | fprintf(ficgp,"$%d)) t 'Observed prevalence in state %d' with line lt 3", 2+3*(cpt-1), cpt ); |
| }else{ | }else{ |
| kl=0; | kl=0; |
| for (k=1; k<=cptcoveff; k++){ /* For each combination of covariate */ | for (k=1; k<=cptcoveff; k++){ /* For each combination of covariate */ |
| Line 7095 void printinggnuplot(char fileresu[], ch | Line 7136 void printinggnuplot(char fileresu[], ch |
| if (i==cpt) fprintf(ficgp," %%lf (%%lf)"); | if (i==cpt) fprintf(ficgp," %%lf (%%lf)"); |
| else fprintf(ficgp," %%*lf (%%*lf)"); | else fprintf(ficgp," %%*lf (%%*lf)"); |
| } | } |
| fprintf(ficgp,"\" t\"Backward (stable) prevalence\" w l lt 0,\"%s\" every :::%d::%d u 1:($2==%d ? $3+1.96*$4 : 1/0) \"%%lf %%lf",subdirf2(fileresu,"VBL_"),nres-1,nres-1,nres); | fprintf(ficgp,"\" t\"Backward (stable) prevalence\" w l lt 6 dt 3,\"%s\" every :::%d::%d u 1:($2==%d ? $3+1.96*$4 : 1/0) \"%%lf %%lf",subdirf2(fileresu,"VBL_"),nres-1,nres-1,nres); |
| for (i=1; i<= nlstate ; i ++) { | for (i=1; i<= nlstate ; i ++) { |
| if (i==cpt) fprintf(ficgp," %%lf (%%lf)"); | if (i==cpt) fprintf(ficgp," %%lf (%%lf)"); |
| else fprintf(ficgp," %%*lf (%%*lf)"); | else fprintf(ficgp," %%*lf (%%*lf)"); |
| } | } |
| fprintf(ficgp,"\" t\"95%% CI\" w l lt 1,\"%s\" every :::%d::%d u 1:($2==%d ? $3-1.96*$4 : 1/0) \"%%lf %%lf",subdirf2(fileresu,"VBL_"),nres-1,nres-1,nres); | fprintf(ficgp,"\" t\"95%% CI\" w l lt 4,\"%s\" every :::%d::%d u 1:($2==%d ? $3-1.96*$4 : 1/0) \"%%lf %%lf",subdirf2(fileresu,"VBL_"),nres-1,nres-1,nres); |
| for (i=1; i<= nlstate ; i ++) { | for (i=1; i<= nlstate ; i ++) { |
| if (i==cpt) fprintf(ficgp," %%lf (%%lf)"); | if (i==cpt) fprintf(ficgp," %%lf (%%lf)"); |
| else fprintf(ficgp," %%*lf (%%*lf)"); | else fprintf(ficgp," %%*lf (%%*lf)"); |
| } | } |
| fprintf(ficgp,"\" t\"\" w l lt 1"); | fprintf(ficgp,"\" t\"\" w l lt 4"); |
| } /* end if backprojcast */ | } /* end if backprojcast */ |
| } /* end if backcast */ | } /* end if backcast */ |
| fprintf(ficgp,"\nset out ;unset label;\n"); | /* fprintf(ficgp,"\nset out ;unset label;\n"); */ |
| fprintf(ficgp,"\nset out ;unset title;\n"); | |
| } /* nres */ | } /* nres */ |
| } /* k1 */ | } /* k1 */ |
| } /* cpt */ | } /* cpt */ |
| Line 7506 set ter svg size 640, 480\nunset log y\n | Line 7548 set ter svg size 640, 480\nunset log y\n |
| /*# 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 */ | /*# 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 */ |
| fprintf(ficgp," u %d:(", ioffset); | fprintf(ficgp," u %d:(", ioffset); |
| if(i==nlstate+1){ | if(i==nlstate+1){ |
| fprintf(ficgp," $%d/(1.-$%d)):5 t 'pw.%d' with line lc variable ", \ | fprintf(ficgp," $%d/(1.-$%d)):1 t 'pw.%d' with line lc variable ", \ |
| ioffset+(cpt-1)*(nlstate+1)+1+(i-1), ioffset+1+(i-1)+(nlstate+1)*nlstate,cpt ); | ioffset+(cpt-1)*(nlstate+1)+1+(i-1), ioffset+1+(i-1)+(nlstate+1)*nlstate,cpt ); |
| fprintf(ficgp,",\\\n '' "); | fprintf(ficgp,",\\\n '' "); |
| fprintf(ficgp," u %d:(",ioffset); | fprintf(ficgp," u %d:(",ioffset); |
| fprintf(ficgp," (($5-$6) == %d ) ? $%d/(1.-$%d) : 1/0):5 with labels center not ", \ | fprintf(ficgp," (($1-$2) == %d ) ? $%d/(1.-$%d) : 1/0):1 with labels center not ", \ |
| offyear, \ | offyear, \ |
| ioffset+(cpt-1)*(nlstate+1)+1+(i-1), ioffset+1+(i-1)+(nlstate+1)*nlstate ); | ioffset+(cpt-1)*(nlstate+1)+1+(i-1), ioffset+1+(i-1)+(nlstate+1)*nlstate ); |
| }else | }else |
| fprintf(ficgp," $%d/(1.-$%d)) t 'p%d%d' with line ", \ | fprintf(ficgp," $%d/(1.-$%d)) t 'p%d%d' with line ", \ |
| ioffset+(cpt-1)*(nlstate+1)+1+(i-1), ioffset+1+(i-1)+(nlstate+1)*nlstate,i,cpt ); | ioffset+(cpt-1)*(nlstate+1)+1+(i-1), ioffset+1+(i-1)+(nlstate+1)*nlstate,i,cpt ); |
| }else{ /* more than 2 covariates */ | }else{ /* more than 2 covariates */ |
| if(cptcoveff ==1){ | ioffset=2*cptcoveff+2; /* Age is in 4 or 6 or etc.*/ |
| ioffset=4; /* Age is in 4 */ | /*# V1 = 1 V2 = 0 yearproj age p11 p21 p.1 p12 p22 p.2 p13 p23 p.3*/ |
| }else{ | /*# 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 */ |
| ioffset=6; /* Age is in 6 */ | iyearc=ioffset-1; |
| /*# V1 = 1 V2 = 0 yearproj age p11 p21 p.1 p12 p22 p.2 p13 p23 p.3*/ | iagec=ioffset; |
| /*# 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 */ | |
| } | |
| fprintf(ficgp," u %d:(",ioffset); | fprintf(ficgp," u %d:(",ioffset); |
| kl=0; | kl=0; |
| strcpy(gplotcondition,"("); | strcpy(gplotcondition,"("); |
| Line 7545 set ter svg size 640, 480\nunset log y\n | Line 7585 set ter svg size 640, 480\nunset log y\n |
| /*6+1+(i-1)+(nlstate+1)*nlstate; 6+1+(1-1) +(2+1)*2=13 */ | /*6+1+(i-1)+(nlstate+1)*nlstate; 6+1+(1-1) +(2+1)*2=13 */ |
| /* '' u 6:(($1==1 && $2==0 && $3==2 && $4==0)? $9/(1.-$15) : 1/0):($5==2000? 3:2) t 'p.1' with line lc variable*/ | /* '' u 6:(($1==1 && $2==0 && $3==2 && $4==0)? $9/(1.-$15) : 1/0):($5==2000? 3:2) t 'p.1' with line lc variable*/ |
| if(i==nlstate+1){ | if(i==nlstate+1){ |
| fprintf(ficgp,"%s ? $%d/(1.-$%d) : 1/0):5 t 'p.%d' with line lc variable", gplotcondition, \ | fprintf(ficgp,"%s ? $%d/(1.-$%d) : 1/0):%d t 'p.%d' with line lc variable", gplotcondition, \ |
| ioffset+(cpt-1)*(nlstate+1)+1+(i-1), ioffset+1+(i-1)+(nlstate+1)*nlstate,cpt ); | ioffset+(cpt-1)*(nlstate+1)+1+(i-1), ioffset+1+(i-1)+(nlstate+1)*nlstate,iyearc, cpt ); |
| fprintf(ficgp,",\\\n '' "); | fprintf(ficgp,",\\\n '' "); |
| fprintf(ficgp," u %d:(",ioffset); | fprintf(ficgp," u %d:(",iagec); |
| fprintf(ficgp,"%s && (($5-$6) == %d ) ? $%d/(1.-$%d) : 1/0):5 with labels center not ", gplotcondition, \ | fprintf(ficgp,"%s && (($%d-$%d) == %d ) ? $%d/(1.-$%d) : 1/0):%d with labels center not ", gplotcondition, \ |
| offyear, \ | iyearc, iagec, offyear, \ |
| ioffset+(cpt-1)*(nlstate+1)+1+(i-1), ioffset+1+(i-1)+(nlstate+1)*nlstate ); | ioffset+(cpt-1)*(nlstate+1)+1+(i-1), ioffset+1+(i-1)+(nlstate+1)*nlstate, iyearc ); |
| /* '' u 6:(($1==1 && $2==0 && $3==2 && $4==0) && (($5-$6) == 1947) ? $10/(1.-$22) : 1/0):5 with labels center boxed not*/ | /* '' u 6:(($1==1 && $2==0 && $3==2 && $4==0) && (($5-$6) == 1947) ? $10/(1.-$22) : 1/0):5 with labels center boxed not*/ |
| }else{ | }else{ |
| fprintf(ficgp,"%s ? $%d/(1.-$%d) : 1/0) t 'p%d%d' with line ", gplotcondition, \ | fprintf(ficgp,"%s ? $%d/(1.-$%d) : 1/0) t 'p%d%d' with line ", gplotcondition, \ |
| Line 7621 set ter svg size 640, 480\nunset log y\n | Line 7661 set ter svg size 640, 480\nunset log y\n |
| /*# 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 */ | /*# 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 */ |
| fprintf(ficgp," u %d:(", ioffset); | fprintf(ficgp," u %d:(", ioffset); |
| if(i==nlstate+1){ | if(i==nlstate+1){ |
| fprintf(ficgp," $%d/(1.-$%d)):5 t 'bw%d' with line lc variable ", \ | fprintf(ficgp," $%d/(1.-$%d)):1 t 'bw%d' with line lc variable ", \ |
| ioffset+(cpt-1)*(nlstate+1)+1+(i-1), ioffset+1+(i-1)+(nlstate+1)*nlstate,cpt ); | ioffset+(cpt-1)*(nlstate+1)+1+(i-1), ioffset+1+(i-1)+(nlstate+1)*nlstate,cpt ); |
| fprintf(ficgp,",\\\n '' "); | fprintf(ficgp,",\\\n '' "); |
| fprintf(ficgp," u %d:(",ioffset); | fprintf(ficgp," u %d:(",ioffset); |
| fprintf(ficgp," (($5-$6) == %d ) ? $%d : 1/0):5 with labels center not ", \ | fprintf(ficgp," (($1-$2) == %d ) ? $%d : 1/0):1 with labels center not ", \ |
| offbyear, \ | offbyear, \ |
| ioffset+(cpt-1)*(nlstate+1)+1+(i-1) ); | ioffset+(cpt-1)*(nlstate+1)+1+(i-1) ); |
| }else | }else |
| fprintf(ficgp," $%d/(1.-$%d)) t 'b%d%d' with line ", \ | fprintf(ficgp," $%d/(1.-$%d)) t 'b%d%d' with line ", \ |
| ioffset+(cpt-1)*(nlstate+1)+1+(i-1), ioffset+1+(i-1)+(nlstate+1)*nlstate,cpt,i ); | ioffset+(cpt-1)*(nlstate+1)+1+(i-1), ioffset+1+(i-1)+(nlstate+1)*nlstate,cpt,i ); |
| }else{ /* more than 2 covariates */ | }else{ /* more than 2 covariates */ |
| if(cptcoveff ==1){ | ioffset=2*cptcoveff+2; /* Age is in 4 or 6 or etc.*/ |
| ioffset=4; /* Age is in 4 */ | /*# V1 = 1 V2 = 0 yearproj age p11 p21 p.1 p12 p22 p.2 p13 p23 p.3*/ |
| }else{ | /*# 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 */ |
| ioffset=6; /* Age is in 6 */ | iyearc=ioffset-1; |
| /*# V1 = 1 V2 = 0 yearproj age p11 p21 p.1 p12 p22 p.2 p13 p23 p.3*/ | iagec=ioffset; |
| /*# 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 */ | |
| } | |
| fprintf(ficgp," u %d:(",ioffset); | fprintf(ficgp," u %d:(",ioffset); |
| kl=0; | kl=0; |
| strcpy(gplotcondition,"("); | strcpy(gplotcondition,"("); |
| Line 7660 set ter svg size 640, 480\nunset log y\n | Line 7698 set ter svg size 640, 480\nunset log y\n |
| /*6+1+(i-1)+(nlstate+1)*nlstate; 6+1+(1-1) +(2+1)*2=13 */ | /*6+1+(i-1)+(nlstate+1)*nlstate; 6+1+(1-1) +(2+1)*2=13 */ |
| /* '' u 6:(($1==1 && $2==0 && $3==2 && $4==0)? $9/(1.-$15) : 1/0):($5==2000? 3:2) t 'p.1' with line lc variable*/ | /* '' u 6:(($1==1 && $2==0 && $3==2 && $4==0)? $9/(1.-$15) : 1/0):($5==2000? 3:2) t 'p.1' with line lc variable*/ |
| if(i==nlstate+1){ | if(i==nlstate+1){ |
| fprintf(ficgp,"%s ? $%d : 1/0):5 t 'bw%d' with line lc variable", gplotcondition, \ | fprintf(ficgp,"%s ? $%d : 1/0):%d t 'bw%d' with line lc variable", gplotcondition, \ |
| ioffset+(cpt-1)*(nlstate+1)+1+(i-1),cpt ); | ioffset+(cpt-1)*(nlstate+1)+1+(i-1),iyearc,cpt ); |
| fprintf(ficgp,",\\\n '' "); | fprintf(ficgp,",\\\n '' "); |
| fprintf(ficgp," u %d:(",ioffset); | fprintf(ficgp," u %d:(",iagec); |
| /* fprintf(ficgp,"%s && (($5-$6) == %d ) ? $%d/(1.-$%d) : 1/0):5 with labels center not ", gplotcondition, \ */ | /* fprintf(ficgp,"%s && (($5-$6) == %d ) ? $%d/(1.-$%d) : 1/0):5 with labels center not ", gplotcondition, \ */ |
| fprintf(ficgp,"%s && (($5-$6) == %d ) ? $%d : 1/0):5 with labels center not ", gplotcondition, \ | fprintf(ficgp,"%s && (($%d-$%d) == %d ) ? $%d : 1/0):%d with labels center not ", gplotcondition, \ |
| offbyear, \ | iyearc,iagec,offbyear, \ |
| ioffset+(cpt-1)*(nlstate+1)+1+(i-1) ); | ioffset+(cpt-1)*(nlstate+1)+1+(i-1), iyearc ); |
| /* '' u 6:(($1==1 && $2==0 && $3==2 && $4==0) && (($5-$6) == 1947) ? $10/(1.-$22) : 1/0):5 with labels center boxed not*/ | /* '' u 6:(($1==1 && $2==0 && $3==2 && $4==0) && (($5-$6) == 1947) ? $10/(1.-$22) : 1/0):5 with labels center boxed not*/ |
| }else{ | }else{ |
| /* fprintf(ficgp,"%s ? $%d/(1.-$%d) : 1/0) t 'p%d%d' with line ", gplotcondition, \ */ | /* fprintf(ficgp,"%s ? $%d/(1.-$%d) : 1/0) t 'p%d%d' with line ", gplotcondition, \ */ |
| Line 7726 set ter svg size 640, 480\nunset log y\n | Line 7764 set ter svg size 640, 480\nunset log y\n |
| continue; | continue; |
| fprintf(ficgp,"\n\n# Combination of dummy k1=%d which is ",k1); | fprintf(ficgp,"\n\n# Combination of dummy k1=%d which is ",k1); |
| strcpy(gplotlabel,"("); | strcpy(gplotlabel,"("); |
| sprintf(gplotlabel+strlen(gplotlabel)," Dummy combination %d ",k1); | /*sprintf(gplotlabel+strlen(gplotlabel)," Dummy combination %d ",k1);*/ |
| for (k=1; k<=cptcoveff; k++){ /* For each correspondig covariate value */ | for (k=1; k<=cptcoveff; k++){ /* For each correspondig covariate value */ |
| lv= decodtabm(k1,k,cptcoveff); /* Should be the covariate value corresponding to k1 combination and kth covariate */ | lv= decodtabm(k1,k,cptcoveff); /* Should be the covariate value corresponding to k1 combination and kth covariate */ |
| /* decodtabm(1,1,4) = 1 because h=1 k= (1) 1 1 1 */ | /* decodtabm(1,1,4) = 1 because h=1 k= (1) 1 1 1 */ |
| Line 7743 set ter svg size 640, 480\nunset log y\n | Line 7781 set ter svg size 640, 480\nunset log y\n |
| strcpy(gplotlabel+strlen(gplotlabel),")"); | strcpy(gplotlabel+strlen(gplotlabel),")"); |
| fprintf(ficgp,"\n#\n"); | fprintf(ficgp,"\n#\n"); |
| fprintf(ficgp,"\nset out \"%s_%d-%d-%d.svg\" ",subdirf2(optionfilefiname,"PE_"),k1,ng,nres); | fprintf(ficgp,"\nset out \"%s_%d-%d-%d.svg\" ",subdirf2(optionfilefiname,"PE_"),k1,ng,nres); |
| fprintf(ficgp,"\nset label \"%s\" at graph 0.98,0.5 center rotate font \"Helvetica,12\"\n",gplotlabel); | fprintf(ficgp,"\nset key outside "); |
| /* fprintf(ficgp,"\nset label \"%s\" at graph 1.2,0.5 center rotate font \"Helvetica,12\"\n",gplotlabel); */ | |
| fprintf(ficgp,"\nset title \"%s\" font \"Helvetica,12\"\n",gplotlabel); | |
| fprintf(ficgp,"\nset ter svg size 640, 480 "); | fprintf(ficgp,"\nset ter svg size 640, 480 "); |
| if (ng==1){ | if (ng==1){ |
| fprintf(ficgp,"\nset ylabel \"Value of the logit of the model\"\n"); /* exp(a12+b12*x) could be nice */ | fprintf(ficgp,"\nset ylabel \"Value of the logit of the model\"\n"); /* exp(a12+b12*x) could be nice */ |
| Line 7863 set ter svg size 640, 480\nunset log y\n | Line 7903 set ter svg size 640, 480\nunset log y\n |
| } | } |
| fprintf(ficgp,")"); | fprintf(ficgp,")"); |
| if(ng ==2) | if(ng ==2) |
| fprintf(ficgp," t \"p%d%d\" ", k2,k); | fprintf(ficgp," w l lw 2 lt (%d*%d+%d)%%%d+1 dt %d t \"p%d%d\" ", nlstate+ndeath, k2, k, nlstate+ndeath, k2, k2,k); |
| else /* ng= 3 */ | else /* ng= 3 */ |
| fprintf(ficgp," t \"i%d%d\" ", k2,k); | fprintf(ficgp," w l lw 2 lt (%d*%d+%d)%%%d+1 dt %d t \"i%d%d\" ", nlstate+ndeath, k2, k, nlstate+ndeath, k2, k2,k); |
| }else{ /* end ng <> 1 */ | }else{ /* end ng <> 1 */ |
| if( k !=k2) /* logit p11 is hard to draw */ | if( k !=k2) /* logit p11 is hard to draw */ |
| fprintf(ficgp," t \"logit(p%d%d)\" ", k2,k); | fprintf(ficgp," w l lw 2 lt (%d*%d+%d)%%%d+1 dt %d t \"logit(p%d%d)\" ", nlstate+ndeath, k2, k, nlstate+ndeath, k2, k2,k); |
| } | } |
| if ((k+k2)!= (nlstate*2+ndeath) && ng != 1) | if ((k+k2)!= (nlstate*2+ndeath) && ng != 1) |
| fprintf(ficgp,","); | fprintf(ficgp,","); |
| Line 7877 set ter svg size 640, 480\nunset log y\n | Line 7917 set ter svg size 640, 480\nunset log y\n |
| i=i+ncovmodel; | i=i+ncovmodel; |
| } /* end k */ | } /* end k */ |
| } /* end k2 */ | } /* end k2 */ |
| fprintf(ficgp,"\n set out; unset label;\n"); | /* fprintf(ficgp,"\n set out; unset label;set key default;\n"); */ |
| fprintf(ficgp,"\n set out; unset title;set key default;\n"); | |
| } /* end k1 */ | } /* end k1 */ |
| } /* end ng */ | } /* end ng */ |
| /* avoid: */ | /* avoid: */ |
| Line 8154 set ter svg size 640, 480\nunset log y\n | Line 8195 set ter svg size 640, 480\nunset log y\n |
| if(estepm < stepm){ | if(estepm < stepm){ |
| printf ("Problem %d lower than %d\n",estepm, stepm); | printf ("Problem %d lower than %d\n",estepm, stepm); |
| } | } |
| else hstepm=estepm; | else{ |
| hstepm=estepm; | |
| } | |
| if(estepm > stepm){ /* Yes every two year */ | |
| stepsize=2; | |
| } | |
| hstepm=hstepm/stepm; | hstepm=hstepm/stepm; |
| yp1=modf(dateintmean,&yp);/* extracts integral of datemean in yp and | yp1=modf(dateintmean,&yp);/* extracts integral of datemean in yp and |
| Line 8199 set ter svg size 640, 480\nunset log y\n | Line 8245 set ter svg size 640, 480\nunset log y\n |
| for (yearp=0; yearp<=(anproj2-anproj1);yearp +=stepsize) { | for (yearp=0; yearp<=(anproj2-anproj1);yearp +=stepsize) { |
| fprintf(ficresf,"\n"); | fprintf(ficresf,"\n"); |
| fprintf(ficresf,"\n# Forecasting at date %.lf/%.lf/%.lf ",jproj1,mproj1,anproj1+yearp); | fprintf(ficresf,"\n# Forecasting at date %.lf/%.lf/%.lf ",jproj1,mproj1,anproj1+yearp); |
| for (agec=fage; agec>=(ageminpar-1); agec--){ | /* for (agec=fage; agec>=(ageminpar-1); agec--){ */ |
| for (agec=fage; agec>=(bage); agec--){ | |
| nhstepm=(int) rint((agelim-agec)*YEARM/stepm); | nhstepm=(int) rint((agelim-agec)*YEARM/stepm); |
| nhstepm = nhstepm/hstepm; | nhstepm = nhstepm/hstepm; |
| p3mat=ma3x(1,nlstate+ndeath,1, nlstate+ndeath, 0,nhstepm); | p3mat=ma3x(1,nlstate+ndeath,1, nlstate+ndeath, 0,nhstepm); |
| Line 8287 set ter svg size 640, 480\nunset log y\n | Line 8334 set ter svg size 640, 480\nunset log y\n |
| if(estepm < stepm){ | if(estepm < stepm){ |
| printf ("Problem %d lower than %d\n",estepm, stepm); | printf ("Problem %d lower than %d\n",estepm, stepm); |
| } | } |
| else hstepm=estepm; | else{ |
| hstepm=estepm; | |
| } | |
| if(estepm >= stepm){ /* Yes every two year */ | |
| stepsize=2; | |
| } | |
| hstepm=hstepm/stepm; | hstepm=hstepm/stepm; |
| yp1=modf(dateintmean,&yp);/* extracts integral of datemean in yp and | yp1=modf(dateintmean,&yp);/* extracts integral of datemean in yp and |
| Line 8334 set ter svg size 640, 480\nunset log y\n | Line 8386 set ter svg size 640, 480\nunset log y\n |
| fprintf(ficresfb,"\n"); | fprintf(ficresfb,"\n"); |
| fprintf(ficresfb,"\n# Back Forecasting at date %.lf/%.lf/%.lf ",jback1,mback1,anback1+yearp); | fprintf(ficresfb,"\n# Back Forecasting at date %.lf/%.lf/%.lf ",jback1,mback1,anback1+yearp); |
| /* printf("\n# Back Forecasting at date %.lf/%.lf/%.lf ",jback1,mback1,anback1+yearp); */ | /* printf("\n# Back Forecasting at date %.lf/%.lf/%.lf ",jback1,mback1,anback1+yearp); */ |
| for (agec=bage; agec<=agemax-1; agec++){ /* testing */ | /* for (agec=bage; agec<=agemax-1; agec++){ /\* testing *\/ */ |
| for (agec=bage; agec<=fage; agec++){ /* testing */ | |
| /* We compute bij at age agec over nhstepm, nhstepm decreases when agec increases because of agemax;*/ | /* We compute bij at age agec over nhstepm, nhstepm decreases when agec increases because of agemax;*/ |
| nhstepm=(int) rint((agec-agelim)*YEARM/stepm); | nhstepm=(int) (agec-agelim) *YEARM/stepm;/* nhstepm=(int) rint((agec-agelim)*YEARM/stepm);*/ |
| nhstepm = nhstepm/hstepm; | nhstepm = nhstepm/hstepm; |
| p3mat=ma3x(1,nlstate+ndeath,1, nlstate+ndeath, 0,nhstepm); | p3mat=ma3x(1,nlstate+ndeath,1, nlstate+ndeath, 0,nhstepm); |
| oldm=oldms;savm=savms; | oldm=oldms;savm=savms; |
| /* computes hbxij at age agec over 1 to nhstepm */ | /* computes hbxij at age agec over 1 to nhstepm */ |
| /* printf("####prevbackforecast debug agec=%.2f nhstepm=%d\n",agec, nhstepm);fflush(stdout); */ | |
| hbxij(p3mat,nhstepm,agec,hstepm,p,prevacurrent,nlstate,stepm, k, nres); | hbxij(p3mat,nhstepm,agec,hstepm,p,prevacurrent,nlstate,stepm, k, nres); |
| /* hpxij(p3mat,nhstepm,agec,hstepm,p, nlstate,stepm,oldm,savm, k,nres); */ | /* hpxij(p3mat,nhstepm,agec,hstepm,p, nlstate,stepm,oldm,savm, k,nres); */ |
| /* Then we print p3mat for h corresponding to the right agec+h*stepms=yearp */ | /* Then we print p3mat for h corresponding to the right agec+h*stepms=yearp */ |
| Line 10560 int main(int argc, char *argv[]) | Line 10614 int main(int argc, char *argv[]) |
| int nres=0; | int nres=0; |
| int endishere=0; | int endishere=0; |
| int ncurrv=0; /* Temporary variable */ | |
| char ca[32], cb[32]; | char ca[32], cb[32]; |
| /* FILE *fichtm; *//* Html File */ | /* FILE *fichtm; *//* Html File */ |
| /* FILE *ficgp;*/ /*Gnuplot File */ | /* FILE *ficgp;*/ /*Gnuplot File */ |
| Line 10614 int main(int argc, char *argv[]) | Line 10670 int main(int argc, char *argv[]) |
| double *epj, vepp; | double *epj, vepp; |
| double dateprev1, dateprev2,jproj1=1,mproj1=1,anproj1=2000,jproj2=1,mproj2=1,anproj2=2000; | double dateprev1, dateprev2; |
| double jback1=1,mback1=1,anback1=2000,jback2=1,mback2=1,anback2=2000; | double jproj1=1,mproj1=1,anproj1=2000,jproj2=1,mproj2=1,anproj2=2000, dateproj1=0, dateproj2=0; |
| double jback1=1,mback1=1,anback1=2000,jback2=1,mback2=1,anback2=2000, dateback1=0, dateback2=0; | |
| double **ximort; | double **ximort; |
| char *alph[]={"a","a","b","c","d","e"}, str[4]="1234"; | char *alph[]={"a","a","b","c","d","e"}, str[4]="1234"; |
| Line 11443 Title=%s <br>Datafile=%s Firstpass=%d La | Line 11500 Title=%s <br>Datafile=%s Firstpass=%d La |
| firstpass, lastpass, stepm, weightopt, model); | firstpass, lastpass, stepm, weightopt, model); |
| fprintf(fichtm,"\n"); | fprintf(fichtm,"\n"); |
| fprintf(fichtm,"<br>Total number of observations=%d <br>\n\ | fprintf(fichtm,"<h4>Parameter line 2</h4><ul><li>Tolerance for the convergence of the likelihood: ftol=%f \n<li>Interval for the elementary matrix (in month): stepm=%d",\ |
| ftol, stepm); | |
| fprintf(fichtm,"\n<li>Number of fixed dummy covariates: ncovcol=%d ", ncovcol); | |
| ncurrv=1; | |
| for(i=ncurrv; i <=ncovcol; i++) fprintf(fichtm,"V%d ", i); | |
| fprintf(fichtm,"\n<li> Number of fixed quantitative variables: nqv=%d ", nqv); | |
| ncurrv=i; | |
| for(i=ncurrv; i <=ncurrv-1+nqv; i++) fprintf(fichtm,"V%d ", i); | |
| fprintf(fichtm,"\n<li> Number of time varying (wave varying) covariates: ntv=%d ", ntv); | |
| ncurrv=i; | |
| for(i=ncurrv; i <=ncurrv-1+ntv; i++) fprintf(fichtm,"V%d ", i); | |
| fprintf(fichtm,"\n<li>Number of quantitative time varying covariates: nqtv=%d ", nqtv); | |
| ncurrv=i; | |
| for(i=ncurrv; i <=ncurrv-1+nqtv; i++) fprintf(fichtm,"V%d ", i); | |
| fprintf(fichtm,"\n<li>Weights column \n<br>Number of alive states: nlstate=%d <br>Number of death states (not really implemented): ndeath=%d \n<li>Number of waves: maxwav=%d \n<li>Parameter for maximization (1), using parameter values (0), for design of parameters and variance-covariance matrix: mle=%d \n<li>Does the weight column be taken into account (1), or not (0): weight=%d</ul>\n", \ | |
| nlstate, ndeath, maxwav, mle, weightopt); | |
| fprintf(fichtm,"<h4> Diagram of states <a href=\"%s_.svg\">%s_.svg</a></h4> \n\ | |
| <img src=\"%s_.svg\">", subdirf2(optionfilefiname,"D_"),subdirf2(optionfilefiname,"D_"),subdirf2(optionfilefiname,"D_")); | |
| fprintf(fichtm,"\n<h4>Some descriptive statistics </h4>\n<br>Total number of observations=%d <br>\n\ | |
| Youngest age at first (selected) pass %.2f, oldest age %.2f<br>\n\ | Youngest age at first (selected) pass %.2f, oldest age %.2f<br>\n\ |
| Interval (in months) between two waves: Min=%d Max=%d Mean=%.2lf<br>\n",\ | Interval (in months) between two waves: Min=%d Max=%d Mean=%.2lf<br>\n",\ |
| imx,agemin,agemax,jmin,jmax,jmean); | imx,agemin,agemax,jmin,jmax,jmean); |
| pmmij= matrix(1,nlstate+ndeath,1,nlstate+ndeath); /* creation */ | pmmij= matrix(1,nlstate+ndeath,1,nlstate+ndeath); /* creation */ |
| oldms= matrix(1,nlstate+ndeath,1,nlstate+ndeath); /* creation */ | oldms= matrix(1,nlstate+ndeath,1,nlstate+ndeath); /* creation */ |
| newms= matrix(1,nlstate+ndeath,1,nlstate+ndeath); /* creation */ | newms= matrix(1,nlstate+ndeath,1,nlstate+ndeath); /* creation */ |
| Line 12006 Please run with mle=-1 to get a correct | Line 12084 Please run with mle=-1 to get a correct |
| fprintf(ficlog,"prevforecast=%d starting-proj-date=%.lf/%.lf/%.lf final-proj-date=%.lf/%.lf/%.lf mobil_average=%d\n",prevfcast,jproj1,mproj1,anproj1,jproj2,mproj2,anproj2,mobilavproj); | fprintf(ficlog,"prevforecast=%d starting-proj-date=%.lf/%.lf/%.lf final-proj-date=%.lf/%.lf/%.lf mobil_average=%d\n",prevfcast,jproj1,mproj1,anproj1,jproj2,mproj2,anproj2,mobilavproj); |
| fprintf(ficres,"prevforecast=%d starting-proj-date=%.lf/%.lf/%.lf final-proj-date=%.lf/%.lf/%.lf mobil_average=%d\n",prevfcast,jproj1,mproj1,anproj1,jproj2,mproj2,anproj2,mobilavproj); | fprintf(ficres,"prevforecast=%d starting-proj-date=%.lf/%.lf/%.lf final-proj-date=%.lf/%.lf/%.lf mobil_average=%d\n",prevfcast,jproj1,mproj1,anproj1,jproj2,mproj2,anproj2,mobilavproj); |
| /* day and month of proj2 are not used but only year anproj2.*/ | /* day and month of proj2 are not used but only year anproj2.*/ |
| dateproj1=anproj1+(mproj1-1)/12.+(jproj1-1)/365.; | |
| dateproj2=anproj2+(mproj2-1)/12.+(jproj2-1)/365.; | |
| } | } |
| break; | break; |
| case 12: | case 12: |
| Line 12021 Please run with mle=-1 to get a correct | Line 12102 Please run with mle=-1 to get a correct |
| fprintf(ficlog,"backcast=%d starting-back-date=%.lf/%.lf/%.lf final-back-date=%.lf/%.lf/%.lf mobil_average=%d\n",backcast,jback1,mback1,anback1,jback2,mback2,anback2,mobilavproj); | fprintf(ficlog,"backcast=%d starting-back-date=%.lf/%.lf/%.lf final-back-date=%.lf/%.lf/%.lf mobil_average=%d\n",backcast,jback1,mback1,anback1,jback2,mback2,anback2,mobilavproj); |
| fprintf(ficres,"backcast=%d starting-back-date=%.lf/%.lf/%.lf final-back-date=%.lf/%.lf/%.lf mobil_average=%d\n",backcast,jback1,mback1,anback1,jback2,mback2,anback2,mobilavproj); | fprintf(ficres,"backcast=%d starting-back-date=%.lf/%.lf/%.lf final-back-date=%.lf/%.lf/%.lf mobil_average=%d\n",backcast,jback1,mback1,anback1,jback2,mback2,anback2,mobilavproj); |
| /* day and month of proj2 are not used but only year anproj2.*/ | /* day and month of proj2 are not used but only year anproj2.*/ |
| dateback1=anback1+(mback1-1)/12.+(jback1-1)/365.; | |
| dateback2=anback2+(mback2-1)/12.+(jback2-1)/365.; | |
| } | } |
| break; | break; |
| case 13: | case 13: |
| Line 12071 Please run with mle=-1 to get a correct | Line 12154 Please run with mle=-1 to get a correct |
| This is probably because your parameter file doesn't \n contain the exact number of lines (or columns) corresponding to your model line.\n\ | This is probably because your parameter file doesn't \n contain the exact number of lines (or columns) corresponding to your model line.\n\ |
| Please run with mle=-1 to get a correct covariance matrix.\n",ageminpar,agemaxpar); | Please run with mle=-1 to get a correct covariance matrix.\n",ageminpar,agemaxpar); |
| }else{ | }else{ |
| printinggnuplot(fileresu, optionfilefiname,ageminpar,agemaxpar,fage, prevfcast, backcast, pathc,p, (int)anproj1-(int)agemin, (int)anback1-(int)agemax+1); | /* printinggnuplot(fileresu, optionfilefiname,ageminpar,agemaxpar,fage, prevfcast, backcast, pathc,p, (int)anproj1-(int)agemin, (int)anback1-(int)agemax+1); */ |
| printinggnuplot(fileresu, optionfilefiname,ageminpar,agemaxpar,bage, fage, prevfcast, backcast, pathc,p, (int)anproj1-bage, (int)anback1-fage); | |
| } | } |
| printinghtml(fileresu,title,datafile, firstpass, lastpass, stepm, weightopt, \ | printinghtml(fileresu,title,datafile, firstpass, lastpass, stepm, weightopt, \ |
| model,imx,jmin,jmax,jmean,rfileres,popforecast,mobilav,prevfcast,mobilavproj,backcast, estepm, \ | model,imx,jmin,jmax,jmean,rfileres,popforecast,mobilav,prevfcast,mobilavproj,backcast, estepm, \ |
| jprev1,mprev1,anprev1,dateprev1,jprev2,mprev2,anprev2,dateprev2); | jprev1,mprev1,anprev1,dateprev1, dateproj1, dateback1,jprev2,mprev2,anprev2,dateprev2,dateproj2, dateback2); |
| /*------------ free_vector -------------*/ | /*------------ free_vector -------------*/ |
| /* chdir(path); */ | /* chdir(path); */ |