1if (categoriesUsed) 2{ 3 ChoiceList (response,"Rate class Information Dislpay",1,NO_SKIP, 4 "Don't Display","No rate class information is displayed", 5 "Distribution Info","Only the inferred distributions will be shown", 6 "Class Asignments 1","A string of class assignments for sites is displayed for each site from left to right.", 7 "Class Asignments 2","A list of sites, grouped by rate class, is displayed.", 8 "Complete","A table of partial likelihoods is spooled to a file, along with class assignments for sites."); 9 10 11 if (response>0) 12 { 13 if (response>3) 14 { 15 ConstructCategoryMatrix(res,lf,COMPLETE); 16 SetDialogPrompt ("Write marginal matrix info to:"); 17 PRINT_DIGITS = 12; 18 fprintf (PROMPT_FOR_FILE,CLEAR_FILE,res); 19 } 20 else 21 { 22 ConstructCategoryMatrix(res,lf,SHORT); 23 cols = Columns(res); 24 GetInformation (distrInfo,c); 25 Dvar = Columns(distrInfo); 26 Evar = 0.0; 27 T = 0.0; 28 sampleVar = 0.0; 29 for (k=0; k<Dvar; k=k+1) 30 { 31 T = distrInfo[0][k]*distrInfo[1][k]; 32 Evar = Evar+T; 33 sampleVar = T*distrInfo[0][k]+sampleVar; 34 } 35 sampleVar = sampleVar-Evar*Evar; 36 37 if (categoriesUsed>1) 38 { 39 fprintf (stdout, "\n", _rateDescriptors[0]); 40 } 41 42 fprintf (stdout,"\n\n------------------------------------------------\n\nSample mean = ",Evar, " (sample variance = ",sampleVar,")\n"); 43 for (k=0; k<Dvar; k=k+1) 44 { 45 fprintf (stdout,"\nRate[",Format(k,0,0),"]=",Format(distrInfo[0][k],12,8), " (weight=", 46 Format(distrInfo[1][k],9,7),")"); 47 } 48 if (categoriesUsed>1) 49 { 50 GetInformation (distrInfo2,d); 51 Dvar = Columns(distrInfo2); 52 Evar = 0.0; 53 T = 0.0; 54 sampleVar = 0.0; 55 for (k=0; k<Dvar; k=k+1) 56 { 57 T = R*distrInfo2[0][k]*distrInfo2[1][k]; 58 Evar = Evar+T; 59 sampleVar = T*R*distrInfo2[0][k]+sampleVar; 60 } 61 sampleVar = sampleVar-Evar*Evar; 62 63 fprintf (stdout, "\n", _rateDescriptors[1]); 64 fprintf (stdout,"\n\n------------------------------------------------\n\nSample mean = ",Evar, " (sample variance = ",sampleVar,")\n"); 65 for (k=0; k<Dvar; k=k+1) 66 { 67 fprintf (stdout,"\nRate[",Format(k,0,0),"]=",Format(R*distrInfo2[0][k],12,8), " (weight=", 68 Format(distrInfo2[1][k],9,7),")"); 69 } 70 } 71 if (response == 2) 72 { 73 PRINT_DIGITS = 4; 74 if (categoriesUsed>1) 75 { 76 fprintf (stdout,"\n\nClass Assignments (div/mod ",Columns(distrInfo2)," for ",_rateDescriptors[0],"/",_rateDescriptors[1],") :\n\n"); 77 } 78 else 79 { 80 fprintf (stdout,"\n\nClass Assignments:\n\n"); 81 } 82 fprintf (stdout,"\n"); 83 PRINT_DIGITS = 3; 84 fprintf (stdout,res[0][0]); 85 for (n=1;n<cols;n=n+1) 86 { 87 fprintf (stdout,"\t",res[0][n]); 88 } 89 _tableHeaders = {1,1}; 90 _tableHeaders[0] = "Rate Class"; 91 92 res = Transpose(res); 93 94 OpenWindow (CHARTWINDOW,{{"Rate class assignments by site."} 95 {"_tableHeaders"}, 96 {"res"}, 97 {"Bar Chart"}, 98 {"Index"}, 99 {_tableHeaders[0]}, 100 {"Site Index"}, 101 {_tableHeaders[0]}, 102 {_tableHeaders[0]}, 103 {"0"}}, 104 "SCREEN_WIDTH-60;SCREEN_HEIGHT-50;30;50"); 105 } 106 else 107 { 108 if (response == 3) 109 { 110 Dvar = Columns(distrInfo); 111 if (categoriesUsed>1) 112 { 113 Dvar2 = Columns (distrInfo2); 114 firstOrNot = {Dvar*Dvar2,1}; 115 for (k=0; k<Dvar; k=k+1) 116 { 117 for (kk = 0; kk<Dvar2; kk=kk+1) 118 { 119 fprintf (stdout, "\n\nRate Class ",_rateDescriptors[0]," ",Format(k,0,0)," and ", 120 _rateDescriptors[1]," ",Format(kk,0,0),"\n"); 121 122 kk2 = k*Dvar2 + kk; 123 for (n=0; n<cols; n=n+1) 124 { 125 if (res[0][n]==kk2) 126 { 127 if (firstOrNot[kk2]==0) 128 { 129 firstOrNot[kk2] = 1; 130 fprintf (stdout, n); 131 } 132 else 133 { 134 fprintf (stdout, ",", n); 135 } 136 } 137 } 138 } 139 } 140 } 141 else 142 { 143 firstOrNot = {Dvar,1}; 144 for (k=0; k<Dvar; k=k+1) 145 { 146 fprintf (stdout, "\n\nRate Class ",Format(k,0,0),"\n"); 147 for (n=0; n<cols; n=n+1) 148 { 149 if (res[0][n]==k) 150 { 151 if (firstOrNot[k]==0) 152 { 153 firstOrNot[k] = 1; 154 fprintf (stdout, n); 155 } 156 else 157 { 158 fprintf (stdout, ",", n); 159 } 160 } 161 } 162 } 163 } 164 fprintf (stdout, "\n"); 165 } 166 } 167 } 168 } 169} 170