|
|
| version 1.7, 2001/05/02 17:50:24 | version 1.8, 2001/05/02 17:54:31 |
|---|---|
| Line 68 | Line 68 |
| int nvar; | int nvar; |
| static int cptcov; | int cptcovn, cptcovage=0, cptcoveff=0,cptcov; |
| int cptcovn, cptcovage=0, cptcoveff=0; | |
| int npar=NPARMAX; | int npar=NPARMAX; |
| int nlstate=2; /* Number of live states */ | int nlstate=2; /* Number of live states */ |
| int ndeath=1; /* Number of dead states */ | int ndeath=1; /* Number of dead states */ |
| Line 77 int ncovmodel, ncov; /* Total number | Line 76 int ncovmodel, ncov; /* Total number |
| int *wav; /* Number of waves for this individuual 0 is possible */ | int *wav; /* Number of waves for this individuual 0 is possible */ |
| int maxwav; /* Maxim number of waves */ | int maxwav; /* Maxim number of waves */ |
| int jmin, jmax; /* min, max spacing between 2 waves */ | |
| int mle, weightopt; | int mle, weightopt; |
| int **mw; /* mw[mi][i] is number of the mi wave for this individual */ | int **mw; /* mw[mi][i] is number of the mi wave for this individual */ |
| int **dh; /* dh[mi][i] is number of steps between mi,mi+1 for this individual */ | int **dh; /* dh[mi][i] is number of steps between mi,mi+1 for this individual */ |
| double jmean; /* Mean space between 2 waves */ | |
| double **oldm, **newm, **savm; /* Working pointers to matrices */ | double **oldm, **newm, **savm; /* Working pointers to matrices */ |
| double **oldms, **newms, **savms; /* Fixed working pointers to matrices */ | double **oldms, **newms, **savms; /* Fixed working pointers to matrices */ |
| FILE *fic,*ficpar, *ficparo,*ficres, *ficrespl, *ficrespij, *ficrest; | FILE *fic,*ficpar, *ficparo,*ficres, *ficrespl, *ficrespij, *ficrest; |
| Line 666 double **prevalim(double **prlim, int nl | Line 667 double **prevalim(double **prlim, int nl |
| cov[2+Tprod[k]]=nbcode[Tvard[k][1]][codtab[ij][Tvard[k][1]]]*nbcode[Tvard[k][2]][codtab[ij][Tvard[k][2]]]; | cov[2+Tprod[k]]=nbcode[Tvard[k][1]][codtab[ij][Tvard[k][1]]]*nbcode[Tvard[k][2]][codtab[ij][Tvard[k][2]]]; |
| /*printf("ij=%d cptcovprod=%d tvar=%d ", ij, cptcovprod, Tvar[1]);*/ | /*printf("ij=%d cptcovprod=%d tvar=%d ", ij, cptcovprod, Tvar[1]);*/ |
| /*printf("ij=%d cov[3]=%lf cov[4]=%lf \n",ij, cov[3],cov[4]);*/ | /*printf("ij=%d cov[3]=%lf cov[4]=%lf \n",ij, cov[3],cov[4]);*/ |
| out=matprod2(newm, pmij(pmmij,cov,ncovmodel,x,nlstate),1,nlstate+ndeath,1,nlstate+ndeath,1,nlstate+ndeath, oldm); | out=matprod2(newm, pmij(pmmij,cov,ncovmodel,x,nlstate),1,nlstate+ndeath,1,nlstate+ndeath,1,nlstate+ndeath, oldm); |
| Line 841 double func( double *x) | Line 841 double func( double *x) |
| /* We are differentiating ll according to initial status */ | /* We are differentiating ll according to initial status */ |
| /* for (i=1;i<=npar;i++) printf("%f ", x[i]);*/ | /* for (i=1;i<=npar;i++) printf("%f ", x[i]);*/ |
| /*for(i=1;i<imx;i++) | /*for(i=1;i<imx;i++) |
| printf(" %d\n",s[4][i]); | printf(" %d\n",s[4][i]); |
| */ | */ |
| cov[1]=1.; | cov[1]=1.; |
| for(k=1; k<=nlstate; k++) ll[k]=0.; | for(k=1; k<=nlstate; k++) ll[k]=0.; |
| for (i=1,ipmx=0, sw=0.; i<=imx; i++){ | for (i=1,ipmx=0, sw=0.; i<=imx; i++){ |
| for (k=1; k<=cptcovn;k++) cov[2+k]=covar[Tvar[k]][i]; | for (k=1; k<=cptcovn;k++) cov[2+k]=covar[Tvar[k]][i]; |
| for(mi=1; mi<= wav[i]-1; mi++){ | for(mi=1; mi<= wav[i]-1; mi++){ |
| for (ii=1;ii<=nlstate+ndeath;ii++) | for (ii=1;ii<=nlstate+ndeath;ii++) |
| for (j=1;j<=nlstate+ndeath;j++) oldm[ii][j]=(ii==j ? 1.0 : 0.0); | for (j=1;j<=nlstate+ndeath;j++) oldm[ii][j]=(ii==j ? 1.0 : 0.0); |
| for(d=0; d<dh[mi][i]; d++){ | for(d=0; d<dh[mi][i]; d++){ |
| newm=savm; | newm=savm; |
| cov[2]=agev[mw[mi][i]][i]+d*stepm/YEARM; | cov[2]=agev[mw[mi][i]][i]+d*stepm/YEARM; |
| for (kk=1; kk<=cptcovage;kk++) { | for (kk=1; kk<=cptcovage;kk++) { |
| cov[Tage[kk]+2]=covar[Tvar[Tage[kk]]][i]*cov[2]; | cov[Tage[kk]+2]=covar[Tvar[Tage[kk]]][i]*cov[2]; |
| /*printf("%d %d",kk,Tage[kk]);*/ | } |
| } | |
| /*cov[4]=covar[1][i]*cov[2];scanf("%d", i);*/ | out=matprod2(newm,oldm,1,nlstate+ndeath,1,nlstate+ndeath, |
| /*cov[3]=pow(cov[2],2)/1000.;*/ | 1,nlstate+ndeath,pmij(pmmij,cov,ncovmodel,x,nlstate)); |
| savm=oldm; | |
| out=matprod2(newm,oldm,1,nlstate+ndeath,1,nlstate+ndeath, | oldm=newm; |
| 1,nlstate+ndeath,pmij(pmmij,cov,ncovmodel,x,nlstate)); | |
| savm=oldm; | |
| oldm=newm; | |
| } /* end mult */ | } /* end mult */ |
| lli=log(out[s[mw[mi][i]][i]][s[mw[mi+1][i]][i]]); | lli=log(out[s[mw[mi][i]][i]][s[mw[mi+1][i]][i]]); |
| /* printf(" %f ",out[s[mw[mi][i]][i]][s[mw[mi+1][i]][i]]);*/ | /* printf(" %f ",out[s[mw[mi][i]][i]][s[mw[mi+1][i]][i]]);*/ |
| ipmx +=1; | ipmx +=1; |
| Line 1175 void freqsummary(char fileres[], int ag | Line 1172 void freqsummary(char fileres[], int ag |
| for(k1=1; k1<=j;k1++){ | for(k1=1; k1<=j;k1++){ |
| for(i1=1; i1<=ncodemax[k1];i1++){ | for(i1=1; i1<=ncodemax[k1];i1++){ |
| j1++; | j1++; |
| /*printf("cptcoveff=%d Tvaraff=%d", cptcoveff,Tvaraff[1]); | |
| scanf("%d", i);*/ | |
| for (i=-1; i<=nlstate+ndeath; i++) | for (i=-1; i<=nlstate+ndeath; i++) |
| for (jk=-1; jk<=nlstate+ndeath; jk++) | for (jk=-1; jk<=nlstate+ndeath; jk++) |
| for(m=agemin; m <= agemax+3; m++) | for(m=agemin; m <= agemax+3; m++) |
| Line 1185 void freqsummary(char fileres[], int ag | Line 1183 void freqsummary(char fileres[], int ag |
| bool=1; | bool=1; |
| if (cptcovn>0) { | if (cptcovn>0) { |
| for (z1=1; z1<=cptcoveff; z1++) | for (z1=1; z1<=cptcoveff; z1++) |
| if (covar[Tvaraff[z1]][i]!= nbcode[Tvaraff[z1]][codtab[j1][z1]]) bool=0; | if (covar[Tvaraff[z1]][i]!= nbcode[Tvaraff[z1]][codtab[j1][z1]]) |
| bool=0; | |
| } | } |
| if (bool==1) { | if (bool==1) { |
| for(m=firstpass; m<=lastpass-1; m++){ | for(m=firstpass; m<=lastpass-1; m++){ |
| Line 1199 void freqsummary(char fileres[], int ag | Line 1198 void freqsummary(char fileres[], int ag |
| if (cptcovn>0) { | if (cptcovn>0) { |
| fprintf(ficresp, "\n#********** Variable "); | fprintf(ficresp, "\n#********** Variable "); |
| for (z1=1; z1<=cptcoveff; z1++) fprintf(ficresp, "V%d=%d ",Tvaraff[z1],nbcode[Tvaraff[z1]][codtab[j1][z1]]); | for (z1=1; z1<=cptcoveff; z1++) fprintf(ficresp, "V%d=%d ",Tvaraff[z1],nbcode[Tvaraff[z1]][codtab[j1][z1]]); |
| } | |
| fprintf(ficresp, "**********\n#"); | fprintf(ficresp, "**********\n#"); |
| } | |
| for(i=1; i<=nlstate;i++) | for(i=1; i<=nlstate;i++) |
| fprintf(ficresp, " Age Prev(%d) N(%d) N",i,i); | fprintf(ficresp, " Age Prev(%d) N(%d) N",i,i); |
| fprintf(ficresp, "\n"); | fprintf(ficresp, "\n"); |
| Line 1268 void concatwav(int wav[], int **dh, int | Line 1267 void concatwav(int wav[], int **dh, int |
| */ | */ |
| int i, mi, m; | int i, mi, m; |
| int j, k=0,jk, ju, jl,jmin=1e+5, jmax=-1; | /* int j, k=0,jk, ju, jl,jmin=1e+5, jmax=-1; |
| float sum=0.; | double sum=0., jmean=0.;*/ |
| int j, k=0,jk, ju, jl; | |
| double sum=0.; | |
| jmin=1e+5; | |
| jmax=-1; | |
| jmean=0.; | |
| for(i=1; i<=imx; i++){ | for(i=1; i<=imx; i++){ |
| mi=0; | mi=0; |
| m=firstpass; | m=firstpass; |
| Line 1301 float sum=0.; | Line 1305 float sum=0.; |
| else{ | else{ |
| if (s[mw[mi+1][i]][i] > nlstate) { | if (s[mw[mi+1][i]][i] > nlstate) { |
| j= rint(agedc[i]*12-agev[mw[mi][i]][i]*12); | j= rint(agedc[i]*12-agev[mw[mi][i]][i]*12); |
| if(j=0) j=1; /* Survives at least one month after exam */ | /*if ((j<0) || (j>28)) printf("j=%d num=%d ",j,i);*/ |
| if(j==0) j=1; /* Survives at least one month after exam */ | |
| k=k+1; | |
| if (j >= jmax) jmax=j; | |
| else if (j <= jmin)jmin=j; | |
| sum=sum+j; | |
| } | } |
| else{ | else{ |
| j= rint( (agev[mw[mi+1][i]][i]*12 - agev[mw[mi][i]][i]*12)); | j= rint( (agev[mw[mi+1][i]][i]*12 - agev[mw[mi][i]][i]*12)); |
| /*if ((j<0) || (j>28)) printf("j=%d num=%d ",j,i);*/ | |
| k=k+1; | k=k+1; |
| if (j >= jmax) jmax=j; | if (j >= jmax) jmax=j; |
| else if (j <= jmin)jmin=j; | else if (j <= jmin)jmin=j; |
| Line 1322 float sum=0.; | Line 1332 float sum=0.; |
| } | } |
| } | } |
| } | } |
| printf("Delay (in months) between two waves Min=%d Max=%d Mean=%f\n\n ",jmin, jmax,sum/k); | jmean=sum/k; |
| printf("Delay (in months) between two waves Min=%d Max=%d Mean=%f\n\n ",jmin, jmax,jmean); | |
| } | } |
| /*********** Tricode ****************************/ | /*********** Tricode ****************************/ |
| void tricode(int *Tvar, int **nbcode, int imx) | void tricode(int *Tvar, int **nbcode, int imx) |
| Line 1338 void tricode(int *Tvar, int **nbcode, in | Line 1349 void tricode(int *Tvar, int **nbcode, in |
| for (i=1; i<=imx; i++) { | for (i=1; i<=imx; i++) { |
| ij=(int)(covar[Tvar[j]][i]); | ij=(int)(covar[Tvar[j]][i]); |
| Ndum[ij]++; | Ndum[ij]++; |
| /*printf("i=%d ij=%d Ndum[ij]=%d imx=%d",i,ij,Ndum[ij],imx);*/ | |
| if (ij > cptcode) cptcode=ij; | if (ij > cptcode) cptcode=ij; |
| } | } |
| /*printf("cptcode=%d cptcovn=%d ",cptcode,cptcovn);*/ | |
| for (i=0; i<=cptcode; i++) { | for (i=0; i<=cptcode; i++) { |
| if(Ndum[i]!=0) ncodemax[j]++; | if(Ndum[i]!=0) ncodemax[j]++; |
| } | } |
| ij=1; | ij=1; |
| for (i=1; i<=ncodemax[j]; i++) { | for (i=1; i<=ncodemax[j]; i++) { |
| for (k=0; k<=19; k++) { | for (k=0; k<=19; k++) { |
| if (Ndum[k] != 0) { | if (Ndum[k] != 0) { |
| nbcode[Tvar[j]][ij]=k; | nbcode[Tvar[j]][ij]=k; |
| /* printf("ij=%d ",nbcode[Tvar[2]][1]);*/ | |
| ij++; | ij++; |
| } | } |
| if (ij > ncodemax[j]) break; | if (ij > ncodemax[j]) break; |
| } | } |
| } | } |
| } | } |
| for (i=1; i<=10; i++) { | |
| for (k=0; k<19; k++) Ndum[k]=0; | |
| for (i=1; i<=ncovmodel; i++) { | |
| ij=Tvar[i]; | ij=Tvar[i]; |
| Ndum[ij]++; | Ndum[ij]++; |
| } | } |
| ij=1; | ij=1; |
| for (i=1; i<=cptcovn; i++) { | for (i=1; i<=10; i++) { |
| if((Ndum[i]!=0) && (i<=ncov)){ | if((Ndum[i]!=0) && (i<=ncov)){ |
| Tvaraff[i]=ij; | Tvaraff[ij]=i; |
| ij++; | ij++; |
| } | } |
| } | } |
| for (j=1; j<=(cptcovn+2*cptcovprod); j++) { | cptcoveff=ij-1; |
| if ((Tvar[j]>= cptcoveff) && (Tvar[j] <=ncov)) cptcoveff=Tvar[j]; | |
| /*printf("j=%d %d\n",j,Tvar[j]);*/ | |
| } | |
| /* printf("cptcoveff=%d Tvaraff=%d %d\n",cptcoveff, Tvaraff[1],Tvaraff[2]); | |
| scanf("%d",i);*/ | |
| } | } |
| /*********** Health Expectancies ****************/ | /*********** Health Expectancies ****************/ |
| Line 1630 void varprevlim(char fileres[], double * | Line 1639 void varprevlim(char fileres[], double * |
| int main() | int main() |
| { | { |
| int i,j, k, n=MAXN,iter,m,size,cptcode, aaa, cptcod; | int i,j, k, n=MAXN,iter,m,size,cptcode, cptcod; |
| double agedeb, agefin,hf; | double agedeb, agefin,hf; |
| double agemin=1.e20, agemax=-1.e20; | double agemin=1.e20, agemax=-1.e20; |
| Line 1729 split(pathtot, path,optionfile); | Line 1738 split(pathtot, path,optionfile); |
| printf("title=%s datafile=%s lastobs=%d firstpass=%d lastpass=%d\nftol=%e stepm=%d ncov=%d nlstate=%d ndeath=%d maxwav=%d mle=%d weight=%d\nmodel=%s\n", title, datafile, lastobs, firstpass,lastpass,ftol, stepm, ncov, nlstate,ndeath, maxwav, mle, weightopt,model); | printf("title=%s datafile=%s lastobs=%d firstpass=%d lastpass=%d\nftol=%e stepm=%d ncov=%d nlstate=%d ndeath=%d maxwav=%d mle=%d weight=%d\nmodel=%s\n", title, datafile, lastobs, firstpass,lastpass,ftol, stepm, ncov, nlstate,ndeath, maxwav, mle, weightopt,model); |
| fprintf(ficparo,"title=%s datafile=%s lastobs=%d firstpass=%d lastpass=%d\nftol=%e stepm=%d ncov=%d nlstate=%d ndeath=%d maxwav=%d mle=%d weight=%d\nmodel=%s\n", title, datafile, lastobs, firstpass,lastpass,ftol,stepm,ncov,nlstate,ndeath,maxwav, mle, weightopt,model); | fprintf(ficparo,"title=%s datafile=%s lastobs=%d firstpass=%d lastpass=%d\nftol=%e stepm=%d ncov=%d nlstate=%d ndeath=%d maxwav=%d mle=%d weight=%d\nmodel=%s\n", title, datafile, lastobs, firstpass,lastpass,ftol,stepm,ncov,nlstate,ndeath,maxwav, mle, weightopt,model); |
| covar=matrix(0,NCOVMAX,1,n); | covar=matrix(0,NCOVMAX,1,n); |
| if (strlen(model)<=1) cptcovn=0; | cptcovn=0; |
| else { | if (strlen(model)>1) cptcovn=nbocc(model,'+')+1; |
| j=0; | |
| j=nbocc(model,'+'); | |
| cptcovn=j+1; | |
| } | |
| ncovmodel=2+cptcovn; | ncovmodel=2+cptcovn; |
| nvar=ncovmodel-1; /* Suppressing age as a basic covariate */ | nvar=ncovmodel-1; /* Suppressing age as a basic covariate */ |
| Line 1902 split(pathtot, path,optionfile); | Line 1907 split(pathtot, path,optionfile); |
| cptcovn=j+1; | cptcovn=j+1; |
| cptcovprod=j1; | cptcovprod=j1; |
| strcpy(modelsav,model); | strcpy(modelsav,model); |
| if (j==0) { | if ((strcmp(model,"age")==0) || (strcmp(model,"age*age")==0)){ |
| if (j1==0){ | printf("Error. Non available option model=%s ",model); |
| cutv(stra,strb,modelsav,'V'); | goto end; |
| Tvar[1]=atoi(strb); | } |
| } | |
| else if (j1==1) { | for(i=(j+1); i>=1;i--){ |
| cutv(stra,strb,modelsav,'*'); | cutv(stra,strb,modelsav,'+'); |
| Tage[1]=1; cptcovage++; | if (nbocc(modelsav,'+')==0) strcpy(strb,modelsav); |
| if (strcmp(stra,"age")==0) { | /* printf("i=%d a=%s b=%s sav=%s\n",i, stra,strb,modelsav);*/ |
| /*scanf("%d",i);*/ | |
| if (strchr(strb,'*')) { | |
| cutv(strd,strc,strb,'*'); | |
| if (strcmp(strc,"age")==0) { | |
| cptcovprod--; | cptcovprod--; |
| cutv(strd,strc,strb,'V'); | cutv(strb,stre,strd,'V'); |
| Tvar[1]=atoi(strc); | Tvar[i]=atoi(stre); |
| cptcovage++; | |
| Tage[cptcovage]=i; | |
| /*printf("stre=%s ", stre);*/ | |
| } | } |
| else if (strcmp(strb,"age")==0) { | else if (strcmp(strd,"age")==0) { |
| cptcovprod--; | cptcovprod--; |
| cutv(strd,strc,stra,'V'); | cutv(strb,stre,strc,'V'); |
| Tvar[1]=atoi(strc); | Tvar[i]=atoi(stre); |
| cptcovage++; | |
| Tage[cptcovage]=i; | |
| } | } |
| else { | else { |
| cutv(strd,strc,strb,'V'); | cutv(strb,stre,strc,'V'); |
| cutv(stre,strd,stra,'V'); | Tvar[i]=ncov+k1; |
| Tvar[1]=ncov+1; | cutv(strb,strc,strd,'V'); |
| Tprod[k1]=i; | |
| Tvard[k1][1]=atoi(strc); | |
| Tvard[k1][2]=atoi(stre); | |
| Tvar[cptcovn+k2]=Tvard[k1][1]; | |
| Tvar[cptcovn+k2+1]=Tvard[k1][2]; | |
| for (k=1; k<=lastobs;k++) | for (k=1; k<=lastobs;k++) |
| covar[ncov+1][k]=covar[atoi(strc)][k]*covar[atoi(strd)][k]; | covar[ncov+k1][k]=covar[atoi(stre)][k]*covar[atoi(strc)][k]; |
| k1++; | |
| k2=k2+2; | |
| } | } |
| /*printf("%s %s %s\n", stra,strb,modelsav); | |
| printf("%d ",Tvar[1]); | |
| scanf("%d",i);*/ | |
| } | |
| } | |
| else { | |
| for(i=j; i>=1;i--){ | |
| cutv(stra,strb,modelsav,'+'); | |
| /*printf("%s %s %s\n", stra,strb,modelsav); | |
| scanf("%d",i);*/ | |
| if (strchr(strb,'*')) { | |
| cutv(strd,strc,strb,'*'); | |
| if (strcmp(strc,"age")==0) { | |
| cptcovprod--; | |
| cutv(strb,stre,strd,'V'); | |
| Tvar[i+1]=atoi(stre); | |
| cptcovage++; | |
| Tage[cptcovage]=i+1; | |
| printf("stre=%s ", stre); | |
| } | |
| else if (strcmp(strd,"age")==0) { | |
| cptcovprod--; | |
| cutv(strb,stre,strc,'V'); | |
| Tvar[i+1]=atoi(stre); | |
| cptcovage++; | |
| Tage[cptcovage]=i+1; | |
| } | |
| else { | |
| cutv(strb,stre,strc,'V'); | |
| Tvar[i+1]=ncov+k1; | |
| cutv(strb,strc,strd,'V'); | |
| Tprod[k1]=i+1; | |
| Tvard[k1][1]=atoi(strc); | |
| Tvard[k1][2]=atoi(stre); | |
| Tvar[cptcovn+k2]=Tvard[k1][1]; | |
| Tvar[cptcovn+k2+1]=Tvard[k1][2]; | |
| for (k=1; k<=lastobs;k++) | |
| covar[ncov+k1][k]=covar[atoi(stre)][k]*covar[atoi(strc)][k]; | |
| k1++; | |
| k2=k2+2; | |
| } | |
| } | |
| else { | |
| cutv(strd,strc,strb,'V'); | |
| /* printf("%s %s %s", strd,strc,strb);*/ | |
| Tvar[i+1]=atoi(strc); | |
| } | |
| strcpy(modelsav,stra); | |
| } | } |
| cutv(strd,strc,stra,'V'); | else { |
| Tvar[1]=atoi(strc); | /*printf("d=%s c=%s b=%s\n", strd,strc,strb);*/ |
| /* scanf("%d",i);*/ | |
| cutv(strd,strc,strb,'V'); | |
| Tvar[i]=atoi(strc); | |
| } | |
| strcpy(modelsav,stra); | |
| /*printf("a=%s b=%s sav=%s\n", stra,strb,modelsav); | |
| scanf("%d",i);*/ | |
| } | } |
| } | } |
| /* for (i=1; i<=5; i++) | |
| printf("i=%d %d ",i,Tvar[i]);*/ | /*printf("tvar1=%d tvar2=%d tvar3=%d cptcovage=%d Tage=%d",Tvar[1],Tvar[2],Tvar[3],cptcovage,Tage[1]); |
| /* printf("tvar=%d %d cptcovage=%d %d",Tvar[1],Tvar[2],cptcovage,Tage[1]);*/ | printf("cptcovprod=%d ", cptcovprod); |
| /*printf("cptcovprod=%d ", cptcovprod);*/ | scanf("%d ",i);*/ |
| /* scanf("%d ",i);*/ | |
| fclose(fic); | fclose(fic); |
| /* if(mle==1){*/ | /* if(mle==1){*/ |
| Line 2003 scanf("%d",i);*/ | Line 1983 scanf("%d",i);*/ |
| if(agedc[i]>0) | if(agedc[i]>0) |
| if(moisdc[i]!=99 && andc[i]!=9999) | if(moisdc[i]!=99 && andc[i]!=9999) |
| agev[m][i]=agedc[i]; | agev[m][i]=agedc[i]; |
| else{ | else { |
| if (andc[i]!=9999){ | |
| printf("Warning negative age at death: %d line:%d\n",num[i],i); | printf("Warning negative age at death: %d line:%d\n",num[i],i); |
| agev[m][i]=-1; | agev[m][i]=-1; |
| } | |
| } | } |
| } | } |
| else if(s[m][i] !=9){ /* Should no more exist */ | else if(s[m][i] !=9){ /* Should no more exist */ |
| Line 2063 printf("Total number of individuals= %d, | Line 2045 printf("Total number of individuals= %d, |
| Tcode=ivector(1,100); | Tcode=ivector(1,100); |
| nbcode=imatrix(1,nvar,1,8); | nbcode=imatrix(0,NCOVMAX,0,NCOVMAX); |
| ncodemax[1]=1; | ncodemax[1]=1; |
| if (cptcovn > 0) tricode(Tvar,nbcode,imx); | if (cptcovn > 0) tricode(Tvar,nbcode,imx); |
| Line 2396 chdir(path); | Line 2378 chdir(path); |
| printf("Problem with index.htm \n");goto end; | printf("Problem with index.htm \n");goto end; |
| } | } |
| fprintf(fichtm,"<body><ul> Imach, Version 0.64a<hr> <li>Outputs files<br><br>\n | fprintf(fichtm,"<body><ul> <font size=\"6\">Imach, Version 0.64a </font> <hr size=\"2\" color=\"#EC5E5E\"> |
| Titre=%s <br>Datafile=%s Firstpass=%d Lastpass=%d Stepm=%d Weight=%d Model=%s<br> | |
| Total number of observations=%d <br> | |
| Interval (in months) between two waves: Min=%d Max=%d Mean=%.2lf<br> | |
| <hr size=\"2\" color=\"#EC5E5E\"> | |
| <li>Outputs files<br><br>\n | |
| - Observed prevalence in each state: <a href=\"p%s\">p%s</a> <br>\n | - Observed prevalence in each state: <a href=\"p%s\">p%s</a> <br>\n |
| - Estimated parameters and the covariance matrix: <a href=\"%s\">%s</a> <br> | - Estimated parameters and the covariance matrix: <a href=\"%s\">%s</a> <br> |
| - Stationary prevalence in each state: <a href=\"pl%s\">pl%s</a> <br> | - Stationary prevalence in each state: <a href=\"pl%s\">pl%s</a> <br> |
| Line 2405 chdir(path); | Line 2392 chdir(path); |
| - Life expectancies by age and initial health status: <a href=\"e%s\">e%s</a> <br> | - Life expectancies by age and initial health status: <a href=\"e%s\">e%s</a> <br> |
| - Variances of life expectancies by age and initial health status: <a href=\"v%s\">v%s</a><br> | - Variances of life expectancies by age and initial health status: <a href=\"v%s\">v%s</a><br> |
| - Health expectancies with their variances: <a href=\"t%s\">t%s</a> <br> | - Health expectancies with their variances: <a href=\"t%s\">t%s</a> <br> |
| - Standard deviation of stationary prevalences: <a href=\"vpl%s\">vpl%s</a> <br><br>",fileres,fileres,fileres,fileres,fileres,fileres,fileres,fileres,fileres,fileres,fileres,fileres,fileres,fileres,fileres,fileres,fileres,fileres); | - Standard deviation of stationary prevalences: <a href=\"vpl%s\">vpl%s</a> <br><br>",title,datafile,firstpass,lastpass,stepm, weightopt,model,imx,jmin,jmax,jmean,fileres,fileres,fileres,fileres,fileres,fileres,fileres,fileres,fileres,fileres,fileres,fileres,fileres,fileres,fileres,fileres,fileres,fileres); |
| fprintf(fichtm," <li>Graphs</li>\n<p>"); | fprintf(fichtm," <li>Graphs</li><p>"); |
| m=cptcoveff; | m=cptcoveff; |
| if (cptcovn < 1) {m=1;ncodemax[1]=1;} | if (cptcovn < 1) {m=1;ncodemax[1]=1;} |
| Line 2417 chdir(path); | Line 2404 chdir(path); |
| for(i1=1; i1<=ncodemax[k1];i1++){ | for(i1=1; i1<=ncodemax[k1];i1++){ |
| j1++; | j1++; |
| if (cptcovn > 0) { | if (cptcovn > 0) { |
| fprintf(fichtm,"<hr>************ Results for covariates"); | fprintf(fichtm,"<hr size=\"2\" color=\"#EC5E5E\">************ Results for covariates"); |
| for (cpt=1; cpt<=cptcoveff;cpt++) | for (cpt=1; cpt<=cptcoveff;cpt++) |
| fprintf(fichtm," V%d=%d ",Tvaraff[cpt],nbcode[Tvaraff[cpt]][codtab[j1][cpt]]); | fprintf(fichtm," V%d=%d ",Tvaraff[cpt],nbcode[Tvaraff[cpt]][codtab[j1][cpt]]); |
| fprintf(fichtm," ************\n<hr>"); | fprintf(fichtm," ************\n<hr size=\"2\" color=\"#EC5E5E\">"); |
| } | } |
| fprintf(fichtm,"<br>- Probabilities: pe%s%d.gif<br> | fprintf(fichtm,"<br>- Probabilities: pe%s%d.gif<br> |
| <img src=\"pe%s%d.gif\">",strtok(optionfile, "."),j1,strtok(optionfile, "."),j1); | <img src=\"pe%s%d.gif\">",strtok(optionfile, "."),j1,strtok(optionfile, "."),j1); |
| Line 2680 strcpy(fileresvpl,"vpl"); | Line 2667 strcpy(fileresvpl,"vpl"); |
| #ifdef windows | #ifdef windows |
| chdir(pathcd); | chdir(pathcd); |
| #endif | #endif |
| system("wgnuplot graph.plt"); | /*system("wgnuplot graph.plt");*/ |
| system("../gp37mgw/wgnuplot graph.plt"); | |
| #ifdef windows | #ifdef windows |
| while (z[0] != 'q') { | while (z[0] != 'q') { |