
/*Create the dataset*/
data observe;set out.observe;
/*Dichotomized Food_ADQ*/
FOOD_ADQ_N2=FOOD_ADQ_N; if FOOD_ADQ_N=3 then FOOD_ADQ_N2=2;
if food_adq in (1,2) then food_adq_r=1;
else if food_adq in (3,4) then food_adq_r=0;
run;

/*************************************/
/*      interviewer observation      */
/*************************************/

/*1.1 completeness*/
title "1. Completeness";
PROC FREQ data=observe;
TABLE DU_TYPE_BI NH_INC_BI DU_KIDS DU_PPL Q5_NOTWELLKEPT Q5_VEHICLE Q5_NOTMAINTAINED Q5_LONGGRASS /list missing;
RUN;

/*1.2. validation */
title "2. Validation";
PROC SURVEYFREQ data=observe;
TABLE 
DU_TYPE_BI*(Domain_Bi SSU_PPOV2 PROP_SFH_BI )
NH_INC_BI*(Domain_Bi SSU_PPOV2)
DU_KIDS*(KID_UNDER_5 KID_UNDER_18)
DU_PPL*(HHSIZE2 SSU_HHSIZE2)
(Q5_NOTWELLKEPT Q5_VEHICLE Q5_NOTMAINTAINED Q5_LONGGRASS)*(Domain_Bi SNAP WIC)
/CHISQ CHISQ1 LRCHISQ LRCHISQ1 WCHISQ WLLCHISQ;
WEIGHT cum_addr_sam_wgt;
REPWEIGHT cum_addr_sam_wgt1-cum_addr_sam_wgt24;
RUN;

/*weighted logistic regression, so the regression coefficients could express the measure of association*/
%macro logi(out,pre);
PROC SURVEYLOGISTIC data=observe;
class &pre (ref=first)/param=ref;
MODEL &out (descending)=&pre ;
WEIGHT cum_addr_sam_wgt;
REPWEIGHT cum_addr_sam_wgt1-cum_addr_sam_wgt24;
RUN;
%mend;
%logi(PROP_SFH_BI,DU_TYPE_BI);
%logi(Domain_Bi,NH_INC_BI);
%logi(SSU_PPOV3,NH_INC_BI); 
%logi(KID_UNDER_5,DU_KIDS);
%logi(KID_UNDER_18,DU_KIDS);
%logi(HHSIZE2,DU_PPL);
%logi(SSU_HHSIZE2,DU_PPL);

/*1.3. interviewer impact (variation)*/
title "3. Interviewer impact - DU_KIDS - with PREDICTOR (KID_UNDER_18) ";
PROC GLIMMIX DATA=observe METHOD=laplace ;
CLASS INTERVIEWERID KID_UNDER_18(REF=FIRST) ;
MODEL DU_KIDS(EVENT="1")=KID_UNDER_18 PROP_POP_UNDER18/CL DIST=BINARY LINK=LOGIT SOLUTION ODDSRATIO;
RANDOM INTERCEPT KID_UNDER_18/SUBJECT=INTERVIEWERID TYPE=VC SOLUTION CL;
COVTEST /WALD;
RUN;
title "3. Interviewer impact - DU_KIDS - with PREDICTOR (KID_UNDER_5) ";
PROC GLIMMIX DATA=observe METHOD=laplace ;
CLASS INTERVIEWERID KID_UNDER_5(REF=FIRST) ;
MODEL DU_KIDS(EVENT="1")=KID_UNDER_5 PROP_POP_UNDER18/CL DIST=BINARY LINK=LOGIT SOLUTION ODDSRATIO;
RANDOM INTERCEPT KID_UNDER_5/SUBJECT=INTERVIEWERID TYPE=VC SOLUTION CL;
COVTEST /WALD;
RUN;
title "3. Interviewer impact -DU_TYPE_BI - with PREDICTOR (Domain_Bi)";
PROC GLIMMIX DATA=observe METHOD=laplace ;
CLASS INTERVIEWERID Domain_Bi(REF=FIRST) ;
MODEL DU_TYPE_BI(EVENT="1")=Domain_Bi SSU_PPOV185 PROP_SFH/CL DIST=BINARY LINK=LOGIT SOLUTION ODDSRATIO;
RANDOM INTERCEPT Domain_Bi/SUBJECT=INTERVIEWERID TYPE=VC SOLUTION CL;
COVTEST /WALD;
RUN;
title "3. Interviewer impact -NH_INC_BI - with PREDICTOR (Domain_Bi)";
PROC GLIMMIX DATA=observe METHOD=laplace ;
CLASS INTERVIEWERID Domain_Bi(REF=FIRST) ;
MODEL NH_INC_BI(EVENT="1")=Domain_Bi SSU_PPOV185/CL DIST=BINARY LINK=LOGIT SOLUTION ODDSRATIO;
RANDOM INTERCEPT Domain_Bi/SUBJECT=INTERVIEWERID TYPE=VC SOLUTION CL;
COVTEST /WALD;
RUN;
title "3. Interviewer impact -DU_PPL - with PREDICTOR (HHSIZE2) ";
PROC GLIMMIX DATA=observe METHOD=laplace ;
CLASS INTERVIEWERID HHSIZE2(REF=FIRST) ;
MODEL DU_PPL(EVENT="1")=HHSIZE2 SSU_HHSIZE/CL DIST=BINARY LINK=LOGIT SOLUTION ODDSRATIO;
RANDOM INTERCEPT HHSIZE2/SUBJECT=INTERVIEWERID TYPE=VC SOLUTION CL;
COVTEST /WALD;
RUN;
title "3. Interviewer impact -Q5_NOTWELLKEPT - with PREDICTOR (Domain_Bi) ";
PROC GLIMMIX DATA=observe METHOD=laplace ;
CLASS INTERVIEWERID Domain_Bi(REF=FIRST) ;
MODEL Q5_NOTWELLKEPT(EVENT="1")=Domain_Bi SSU_PPOV185/CL DIST=BINARY LINK=LOGIT SOLUTION ODDSRATIO;
RANDOM INTERCEPT Domain_Bi/SUBJECT=INTERVIEWERID TYPE=VC SOLUTION CL;
COVTEST /WALD;
RUN;
title "3. Interviewer impact -Q5_NOTMAINTAINED - with PREDICTOR (Domain_Bi)";
PROC GLIMMIX DATA=observe METHOD=laplace ;
CLASS INTERVIEWERID Domain_Bi(REF=FIRST) ;
MODEL Q5_NOTMAINTAINED(EVENT="1")=Domain_Bi SSU_PPOV185/CL DIST=BINARY LINK=LOGIT SOLUTION ODDSRATIO;
RANDOM INTERCEPT Domain_Bi/SUBJECT=INTERVIEWERID TYPE=VC SOLUTION CL;
COVTEST /WALD;
RUN;

/*1.4. association with response indicators*/
title "4. Association with response indicators";
%logi(R1,DU_TYPE_BI);
%logi(R1,NH_INC_BI);
%logi(R1,DU_KIDS);
%logi(R1,DU_PPL);
%logi(R1,Q5_NOTWELLKEPT);
%logi(R1,Q5_NOTMAINTAINED);
%logi(R1,Q5_VEHICLE);
%logi(R1,Q5_LONGGRASS);

%logi(R2,DU_TYPE_BI);
%logi(R2,NH_INC_BI);
%logi(R2,DU_KIDS);
%logi(R2,DU_PPL);
%logi(R2,Q5_NOTWELLKEPT);
%logi(R2,Q5_NOTMAINTAINED);
%logi(R2,Q5_VEHICLE);
%logi(R2,Q5_LONGGRASS);



/*1.5. association with key survey outcomes*/
title "5. Association with key survey outcomes";
%macro logi2(out,pre);
PROC SURVEYLOGISTIC data=observe;
WHERE R2=1;
class &pre (ref=first)/param=ref;
MODEL &out (EVENT='1')=&pre ;
WEIGHT FIWGT;
REPWEIGHT FIWGT1-FIWGT24;
RUN;
%mend;
%logi2(food_adq_r,DU_TYPE_BI);
%logi2(food_adq_r,NH_INC_BI);
%logi2(food_adq_r,DU_KIDS);
%logi2(food_adq_r,DU_PPL);
%logi2(food_adq_r,Q5_NOTWELLKEPT);
%logi2(food_adq_r,Q5_NOTMAINTAINED);
%logi2(food_adq_r,Q5_VEHICLE);
%logi2(food_adq_r,Q5_LONGGRASS);


%MACRO SREG(OUT,VAR);
PROC SURVEYREG DATA=observe;
WHERE R2=1;
CLASS &VAR;
MODEL &OUT=&VAR/SOLUTION ;
WEIGHT FIWGT;
REPWEIGHT FIWGT1--FIWGT24;
lsmeans &VAR / diff;
RUN;
%MEND;
%SREG (FAHevent_SUM,DU_TYPE_BI);
%SREG (FAHevent_SUM,NH_INC_BI);
%SREG (FAHevent_SUM,DU_KIDS);
%SREG (FAHevent_SUM,DU_PPL);
%SREG (FAHevent_SUM,Q5_NOTWELLKEPT);
%SREG (FAHevent_SUM,Q5_NOTMAINTAINED);
%SREG (FAHevent_SUM,Q5_VEHICLE);
%SREG (FAHevent_SUM,Q5_LONGGRASS);

%SREG (FAFHevent_SUM,DU_TYPE_BI);
%SREG (FAFHevent_SUM,NH_INC_BI);
%SREG (FAFHevent_SUM,DU_KIDS);
%SREG (FAFHevent_SUM,DU_PPL);
%SREG (FAFHevent_SUM,Q5_NOTWELLKEPT);
%SREG (FAFHevent_SUM,Q5_NOTMAINTAINED);
%SREG (FAFHevent_SUM,Q5_VEHICLE);
%SREG (FAFHevent_SUM,Q5_LONGGRASS);

%SREG (FAHitem_SUM,DU_TYPE_BI);
%SREG (FAHitem_SUM,NH_INC_BI);
%SREG (FAHitem_SUM,DU_KIDS);
%SREG (FAHitem_SUM,DU_PPL);
%SREG (FAHitem_SUM,Q5_NOTWELLKEPT);
%SREG (FAHitem_SUM,Q5_NOTMAINTAINED);
%SREG (FAHitem_SUM,Q5_VEHICLE);
%SREG (FAHitem_SUM,Q5_LONGGRASS);

%SREG (FAFHitem_SUM,DU_TYPE_BI);
%SREG (FAFHitem_SUM,NH_INC_BI);
%SREG (FAFHitem_SUM,DU_KIDS);
%SREG (FAFHitem_SUM,DU_PPL);
%SREG (FAFHitem_SUM,Q5_NOTWELLKEPT);
%SREG (FAFHitem_SUM,Q5_NOTMAINTAINED);
%SREG (FAFHitem_SUM,Q5_VEHICLE);
%SREG (FAFHitem_SUM,Q5_LONGGRASS);


/*************************************/
/*         virtual observation       */
/*************************************/
/*2.1 completeness*/
title "1. Completeness";
PROC FREQ data=observe;
TABLE Q0 Q1-Q15 
Q0_r Q1_r Q2_r Q3_r Q4_r Q5_r Q6_r Q7_r Q8_r Q9_r Q10_r Q11_r Q12_r Q13_r Q14_r Q15_r
Q0_r_n Q1_r_n Q2_r_n Q3_r_n Q4_r_n Q5_r_n Q6_r_n Q7_r_n Q8_r_n Q9_r_n Q10_r_n Q11_r_n Q12_r_n Q13_r_n Q14_r_n Q15_r_n
/list missing;
RUN;

proc means data=observe n nmiss ; var Q0 Q1-Q15 Q0_r Q1_r Q2_r Q3_r Q4_r Q5_r Q6_r Q7_r Q8_r Q9_r Q10_r Q11_r Q12_r Q13_r Q14_r Q15_r
Q0_r_n Q1_r_n Q2_r_n Q3_r_n Q4_r_n Q5_r_n Q6_r_n Q7_r_n Q8_r_n Q9_r_n Q10_r_n Q11_r_n Q12_r_n Q13_r_n Q14_r_n Q15_r_n
/*Q3_r Q5_r Q12_r Q6_r Q7_r Q10_r */;run;

/*2.2. validation */
title "2. Validation";
/* 2 vs 1, 3 vs 1*/
%macro logi3(out,pre); 
PROC SURVEYLOGISTIC data=observe;
class &pre (ref=first)/param=ref;
MODEL &out (descending) =&pre /link=glogit;
WEIGHT cum_addr_sam_wgt;
REPWEIGHT cum_addr_sam_wgt1-cum_addr_sam_wgt24;
RUN;
%mend;
%logi3(PROP_SFH_BI,Q3_r_n);
%logi3(Domain_Bi,Q5_r_n);
%logi3(SSU_PPOV3,Q5_r_n); 
%logi3(KID_UNDER_5,Q12_r_n);
%logi3(KID_UNDER_18,Q12_r_n);
%logi3(HHSIZE2,Q6_r_n);
%logi3(SSU_HHSIZE2,Q6_r_n);

data valid;set valid; where Name1 in ('_RSCHI_', 'DF_RSCHI', 'P_RSCHI');drop nValue1 Name1;RUN;

/*2.3. virtual observer agreement*/
/*agreement between two virtual observers*/
title "3. Virtual observer agreement";
proc freq data=observe;
table DIFF_Q0 DIFF_Q1 DIFF_Q2 DIFF_Q3 DIFF_Q4 DIFF_Q5 DIFF_Q6 DIFF_Q7 DIFF_Q8 DIFF_Q9 DIFF_Q10 DIFF_Q11 DIFF_Q12 DIFF_Q13 DIFF_Q14 DIFF_Q15/list;run;
proc freq data=observe; 
table  DU_AGREE  NH_INC_AGREE  KIDS_AGREE  PPL_AGREE  NOTWELLKEPT_AGREE  NOTMAINTAINED_AGREE  VEHICLE_AGREE  LONGGRASS_AGREE /missing list;run;
/*agreement between IO and VO observers*/
proc freq data=observe;table DU_TYPE_BI * Q3_r /missing list ;run; 
/*Neighborhood type */
proc freq data=observe;table NH_INC_BI * Q5_r /list ;run; 
/*Number of kids*/
proc freq data=observe;table DU_KIDS * Q12_r/list ;run; 
/*Number of people (hhsize)*/
proc freq data=observe;table DU_PPL * Q6_r/list ;run; 
/*House not well kept*/
proc freq data=observe;table Q5_NOTWELLKEPT * Q7_r/list ;run;
/* house not maintained well*/ 
proc freq data=observe;table Q5_NOTMAINTAINED * Q7_r/list ;run; 
/*Abandoned vehicle, long grass vs. litter or vandalism */
proc freq data=observe;table Q5_VEHICLE * Q10_r/list ;run;
proc freq data=observe;table Q5_LONGGRASS * Q10_r/list ;run;

/*2.4. association with response indicators*/
title "4. Association with response indicators";
%logi3(R1,Q0_r_n);
%logi3(R1,Q1_r_n);
%logi3(R1,Q2_r_n);
%logi3(R1,Q3_r_n);
%logi3(R1,Q4_r_n);
%logi3(R1,Q5_r_n);
%logi3(R1,Q6_r_n);
%logi3(R1,Q7_r_n);
%logi3(R1,Q8_r_n);
%logi3(R1,Q9_r_n);
%logi3(R1,Q10_r_n);
%logi3(R1,Q11_r_n);
%logi3(R1,Q12_r_n);
%logi3(R1,Q13_r_n);
%logi3(R1,Q14_r_n);
%logi3(R1,Q15_r_n);

%logi3(R2,Q0_r_n);
%logi3(R2,Q1_r_n);
%logi3(R2,Q2_r_n);
%logi3(R2,Q3_r_n);
%logi3(R2,Q4_r_n);
%logi3(R2,Q5_r_n);
%logi3(R2,Q6_r_n);
%logi3(R2,Q7_r_n);
%logi3(R2,Q8_r_n);
%logi3(R2,Q9_r_n);
%logi3(R2,Q10_r_n);
%logi3(R2,Q11_r_n);
%logi3(R2,Q12_r_n);
%logi3(R2,Q13_r_n);
%logi3(R2,Q14_r_n);
%logi3(R2,Q15_r_n);

/*2.5. association with key survey outcomes*/
title "5. Association with key survey outcomes";
%macro logi4(pred);
PROC SURVEYLOGISTIC data=observe;
WHERE R2=1;
class  &pred (ref=first)/param=ref;
MODEL food_adq_r=&pred//*link=glogit*/;
WEIGHT FIWGT;
REPWEIGHT FIWGT1--FIWGT24;
RUN;
%mend;
%logi4(Q0_r_n);
%logi4(Q1_r_n);
%logi4(Q2_r_n);
%logi4(Q3_r_n);
%logi4(Q4_r_n);
%logi4(Q5_r_n);
%logi4(Q6_r_n);
%logi4(Q7_r_n);
%logi4(Q8_r_n);
%logi4(Q9_r_n);
%logi4(Q10_r_n);
%logi4(Q11_r_n);
%logi4(Q12_r_n);
%logi4(Q13_r_n);
%logi4(Q14_r_n);
%logi4(Q15_r_n);


%MACRO SREG_V(OUT,VAR);
PROC SURVEYREG DATA=observe;
WHERE R2=1;
CLASS &VAR(ref=first);
MODEL &OUT=&VAR/SOLUTION ;
WEIGHT FIWGT;
REPWEIGHT FIWGT1--FIWGT24;
lsmeans &VAR / diff;
ods output ParameterEstimates = aa;
RUN;
data asso;set asso aa;run;
%MEND;
data asso;run;
%SREG_V (FAHevent_SUM,Q0_r);
%SREG_V (FAHevent_SUM,Q1_r);
%SREG_V (FAHevent_SUM,Q2_r);
%SREG_V (FAHevent_SUM,Q3_r);
%SREG_V (FAHevent_SUM,Q4_r);
%SREG_V (FAHevent_SUM,Q5_r);
%SREG_V (FAHevent_SUM,Q6_r);
%SREG_V (FAHevent_SUM,Q7_r);
%SREG_V (FAHevent_SUM,Q8_r);
%SREG_V (FAHevent_SUM,Q9_r);
%SREG_V (FAHevent_SUM,Q10_r);
%SREG_V (FAHevent_SUM,Q11_r);
%SREG_V (FAHevent_SUM,Q12_r);
%SREG_V (FAHevent_SUM,Q13_r);
%SREG_V (FAHevent_SUM,Q14_r);
%SREG_V (FAHevent_SUM,Q15_r);
%SREG_V (FAHevent_SUM,Q0_r_n);
%SREG_V (FAHevent_SUM,Q1_r_n);
%SREG_V (FAHevent_SUM,Q2_r_n);
%SREG_V (FAHevent_SUM,Q3_r_n);
%SREG_V (FAHevent_SUM,Q4_r_n);
%SREG_V (FAHevent_SUM,Q5_r_n);
%SREG_V (FAHevent_SUM,Q6_r_n);
%SREG_V (FAHevent_SUM,Q7_r_n);
%SREG_V (FAHevent_SUM,Q8_r_n);
%SREG_V (FAHevent_SUM,Q9_r_n);
%SREG_V (FAHevent_SUM,Q10_r_n);
%SREG_V (FAHevent_SUM,Q11_r_n);
%SREG_V (FAHevent_SUM,Q12_r_n);
%SREG_V (FAHevent_SUM,Q13_r_n);
%SREG_V (FAHevent_SUM,Q14_r_n);
%SREG_V (FAHevent_SUM,Q15_r_n);
data asso;set asso; if Parameter="Intercept" then delete; if Estimate=0 then delete;run;

data asso;run;
%SREG_V (FAFHevent_SUM,Q0_r);
%SREG_V (FAFHevent_SUM,Q1_r);
%SREG_V (FAFHevent_SUM,Q2_r);
%SREG_V (FAFHevent_SUM,Q3_r);
%SREG_V (FAFHevent_SUM,Q4_r);
%SREG_V (FAFHevent_SUM,Q5_r);
%SREG_V (FAFHevent_SUM,Q6_r);
%SREG_V (FAFHevent_SUM,Q7_r);
%SREG_V (FAFHevent_SUM,Q8_r);
%SREG_V (FAFHevent_SUM,Q9_r);
%SREG_V (FAFHevent_SUM,Q10_r);
%SREG_V (FAFHevent_SUM,Q11_r);
%SREG_V (FAFHevent_SUM,Q12_r);
%SREG_V (FAFHevent_SUM,Q13_r);
%SREG_V (FAFHevent_SUM,Q14_r);
%SREG_V (FAFHevent_SUM,Q15_r);
%SREG_V (FAFHevent_SUM,Q0_r_n);
%SREG_V (FAFHevent_SUM,Q1_r_n);
%SREG_V (FAFHevent_SUM,Q2_r_n);
%SREG_V (FAFHevent_SUM,Q3_r_n);
%SREG_V (FAFHevent_SUM,Q4_r_n);
%SREG_V (FAFHevent_SUM,Q5_r_n);
%SREG_V (FAFHevent_SUM,Q6_r_n);
%SREG_V (FAFHevent_SUM,Q7_r_n);
%SREG_V (FAFHevent_SUM,Q8_r_n);
%SREG_V (FAFHevent_SUM,Q9_r_n);
%SREG_V (FAFHevent_SUM,Q10_r_n);
%SREG_V (FAFHevent_SUM,Q11_r_n);
%SREG_V (FAFHevent_SUM,Q12_r_n);
%SREG_V (FAFHevent_SUM,Q13_r_n);
%SREG_V (FAFHevent_SUM,Q14_r_n);
%SREG_V (FAFHevent_SUM,Q15_r_n);
data asso;set asso; if Parameter="Intercept" then delete; if Estimate=0 then delete;run;

data asso;run;
%SREG_V (FAHitem_SUM,Q0_r);
%SREG_V (FAHitem_SUM,Q1_r);
%SREG_V (FAHitem_SUM,Q2_r);
%SREG_V (FAHitem_SUM,Q3_r);
%SREG_V (FAHitem_SUM,Q4_r);
%SREG_V (FAHitem_SUM,Q5_r);
%SREG_V (FAHitem_SUM,Q6_r);
%SREG_V (FAHitem_SUM,Q7_r);
%SREG_V (FAHitem_SUM,Q8_r);
%SREG_V (FAHitem_SUM,Q9_r);
%SREG_V (FAHitem_SUM,Q10_r);
%SREG_V (FAHitem_SUM,Q11_r);
%SREG_V (FAHitem_SUM,Q12_r);
%SREG_V (FAHitem_SUM,Q13_r);
%SREG_V (FAHitem_SUM,Q14_r);
%SREG_V (FAHitem_SUM,Q15_r);
%SREG_V (FAHitem_SUM,Q0_r_n);
%SREG_V (FAHitem_SUM,Q1_r_n);
%SREG_V (FAHitem_SUM,Q2_r_n);
%SREG_V (FAHitem_SUM,Q3_r_n);
%SREG_V (FAHitem_SUM,Q4_r_n);
%SREG_V (FAHitem_SUM,Q5_r_n);
%SREG_V (FAHitem_SUM,Q6_r_n);
%SREG_V (FAHitem_SUM,Q7_r_n);
%SREG_V (FAHitem_SUM,Q8_r_n);
%SREG_V (FAHitem_SUM,Q9_r_n);
%SREG_V (FAHitem_SUM,Q10_r_n);
%SREG_V (FAHitem_SUM,Q11_r_n);
%SREG_V (FAHitem_SUM,Q12_r_n);
%SREG_V (FAHitem_SUM,Q13_r_n);
%SREG_V (FAHitem_SUM,Q14_r_n);
%SREG_V (FAHitem_SUM,Q15_r_n);
data asso;set asso; if Parameter="Intercept" then delete; if Estimate=0 then delete;run;

data asso;run;
%SREG_V (FAFHitem_SUM,Q0_r);
%SREG_V (FAFHitem_SUM,Q1_r);
%SREG_V (FAFHitem_SUM,Q2_r);
%SREG_V (FAFHitem_SUM,Q3_r);
%SREG_V (FAFHitem_SUM,Q4_r);
%SREG_V (FAFHitem_SUM,Q5_r);
%SREG_V (FAFHitem_SUM,Q6_r);
%SREG_V (FAFHitem_SUM,Q7_r);
%SREG_V (FAFHitem_SUM,Q8_r);
%SREG_V (FAFHitem_SUM,Q9_r);
%SREG_V (FAFHitem_SUM,Q10_r);
%SREG_V (FAFHitem_SUM,Q11_r);
%SREG_V (FAFHitem_SUM,Q12_r);
%SREG_V (FAFHitem_SUM,Q13_r);
%SREG_V (FAFHitem_SUM,Q14_r);
%SREG_V (FAFHitem_SUM,Q15_r);
%SREG_V (FAFHitem_SUM,Q0_r_n);
%SREG_V (FAFHitem_SUM,Q1_r_n);
%SREG_V (FAFHitem_SUM,Q2_r_n);
%SREG_V (FAFHitem_SUM,Q3_r_n);
%SREG_V (FAFHitem_SUM,Q4_r_n);
%SREG_V (FAFHitem_SUM,Q5_r_n);
%SREG_V (FAFHitem_SUM,Q6_r_n);
%SREG_V (FAFHitem_SUM,Q7_r_n);
%SREG_V (FAFHitem_SUM,Q8_r_n);
%SREG_V (FAFHitem_SUM,Q9_r_n);
%SREG_V (FAFHitem_SUM,Q10_r_n);
%SREG_V (FAFHitem_SUM,Q11_r_n);
%SREG_V (FAFHitem_SUM,Q12_r_n);
%SREG_V (FAFHitem_SUM,Q13_r_n);
%SREG_V (FAFHitem_SUM,Q14_r_n);
%SREG_V (FAFHitem_SUM,Q15_r_n);
data asso;set asso; if Parameter="Intercept" then delete; if Estimate=0 then delete;run;


/**********************   Added Value analysis      *************************************/

/*Merge in variables needed for the response propensity model*/
data all;set in.all;CASEID=projectsuid;keep  caseid ICOMP_FI STAT_R NOCA_R SSU_LTHS pct_Census_UAA_CEN_2010 pct_Crowd_Occp_U_ACS_09_13 pct_Female_No_HB_ACS_09_13
pct_HHD_Moved_in_ACS_09_13 pct_HHD_PPL_Und_18_ACS_09_13 pct_MLT_U2_9_STRC_ACS_09_13 pct_NH_AIAN_alone_ACS_09_13
pct_NH_Blk_alone_ACS_09_13 pct_NH_White_alone_CEN_2010 pct_Othr_Lang_ACS_09_13 pct_PUB_ASST_INC_ACS_09_13;run;

proc sort data=observe;by CASEID;run;
proc sort data=all;by CASEID;run;
data model;merge observe(in=a) all; if a;by CASEID;run;
/*recode missing to 0 for the response indicators*/
data model;set model;
R1_out=R1; if R1=. then R1_out=0;
R2_out=R2; if R2=. then R2_out=0;
if DU_KIDS=. then DU_KIDS=2;
if DU_PPL=. then DU_PPL=2;run;
proc freq data=model;table
R1_out*R2_out*ICOMP_FI/list missing;run;

/*Final Response Propensity model*/
/*Take STAT_R and NOCA_R out because they are last interim status code & # of contact attempts which are not avaialbe for screener response*/
PROC LOGISTIC DATA=model;
title "RP model";
    MODEL ICOMP_FI (event="1") =  /*STAT_R NOCA_R*/ SSU_LTHS pct_Census_UAA_CEN_2010 pct_Crowd_Occp_U_ACS_09_13 pct_Female_No_HB_ACS_09_13
pct_HHD_Moved_in_ACS_09_13 pct_HHD_PPL_Und_18_ACS_09_13 pct_MLT_U2_9_STRC_ACS_09_13 pct_NH_AIAN_alone_ACS_09_13
pct_NH_Blk_alone_ACS_09_13 pct_NH_White_alone_CEN_2010 pct_Othr_Lang_ACS_09_13 pct_PUB_ASST_INC_ACS_09_13/RSQUARE;
run;

/*Final Response Propensity model on the screener response indicator*/
PROC LOGISTIC DATA=model;
title "RP model for Screener response";
    MODEL R1_out (event="1") =  /*STAT_R NOCA_R*/ SSU_LTHS pct_Census_UAA_CEN_2010 pct_Crowd_Occp_U_ACS_09_13 pct_Female_No_HB_ACS_09_13
pct_HHD_Moved_in_ACS_09_13 pct_HHD_PPL_Und_18_ACS_09_13 pct_MLT_U2_9_STRC_ACS_09_13 pct_NH_AIAN_alone_ACS_09_13
pct_NH_Blk_alone_ACS_09_13 pct_NH_White_alone_CEN_2010 pct_Othr_Lang_ACS_09_13 pct_PUB_ASST_INC_ACS_09_13/RSQUARE;
run;

/*Final Response Propensity model, plus the two Interviewer Observe Variable*/
PROC LOGISTIC DATA=model;
title "RP model + selected IO variables";
     CLASS NOCA_R STAT_R DU_KIDS/ref=first param=ref;
    MODEL R1_out (event="1") =  /*STAT_R NOCA_R SSU_LTHS*/ pct_Census_UAA_CEN_2010 pct_Crowd_Occp_U_ACS_09_13 pct_Female_No_HB_ACS_09_13
pct_HHD_Moved_in_ACS_09_13 pct_HHD_PPL_Und_18_ACS_09_13 pct_MLT_U2_9_STRC_ACS_09_13 pct_NH_AIAN_alone_ACS_09_13
pct_NH_Blk_alone_ACS_09_13 pct_NH_White_alone_CEN_2010 pct_Othr_Lang_ACS_09_13 pct_PUB_ASST_INC_ACS_09_13 NH_INC_BI DU_KIDS
/RSQUARE;
run; 


/*Stepwise regression*/
/*Original model*/
 proc logistic data=model ;
title "RP model variables fixed, selecte IO variables";
model R1_out(event='1')=/*STAT_R NOCA_R*/ SSU_LTHS pct_Census_UAA_CEN_2010 pct_Crowd_Occp_U_ACS_09_13 pct_Female_No_HB_ACS_09_13
pct_HHD_Moved_in_ACS_09_13 pct_HHD_PPL_Und_18_ACS_09_13 pct_MLT_U2_9_STRC_ACS_09_13 pct_NH_AIAN_alone_ACS_09_13
pct_NH_Blk_alone_ACS_09_13 pct_NH_White_alone_CEN_2010 pct_Othr_Lang_ACS_09_13 pct_PUB_ASST_INC_ACS_09_13 / details RSQUARE;
        run;


/*option 1: fix RP variable, select IO variables - same as above!!! */
 proc logistic data=model ;
title "RP model variables fixed, selecte IO variables";
          CLASS NOCA_R STAT_R DU_KIDS DU_PPL/ref=first param=ref;
model R1_out(event='1')=/*STAT_R NOCA_R*/ SSU_LTHS pct_Census_UAA_CEN_2010 pct_Crowd_Occp_U_ACS_09_13 pct_Female_No_HB_ACS_09_13
pct_HHD_Moved_in_ACS_09_13 pct_HHD_PPL_Und_18_ACS_09_13 pct_MLT_U2_9_STRC_ACS_09_13 pct_NH_AIAN_alone_ACS_09_13
pct_NH_Blk_alone_ACS_09_13 pct_NH_White_alone_CEN_2010 pct_Othr_Lang_ACS_09_13 pct_PUB_ASST_INC_ACS_09_13 

DU_TYPE_BI NH_INC_BI DU_KIDS DU_PPL Q5_NOTWELLKEPT Q5_NOTMAINTAINED Q5_VEHICLE Q5_LONGGRASS

                   / selection=stepwise
				     INCLUDE=12
                     slentry=0.15
                     slstay=0.05
                     details
                     lackfit
					 RSQUARE;
        run;
/* 2 variables selected: DU_KIDS DU_PPL*/

/*option 2: fix RP variable, select VO variables*/
 proc logistic data=model ;
title "RP model variables fixed, selecte VO variables";
          CLASS NOCA_R STAT_R Q0_r_n Q1_r_n Q2_r_n Q3_r_n Q4_r_n Q5_r_n Q6_r_n Q7_r_n Q8_r_n Q9_r_n Q10_r_n Q11_r_n 
Q12_r_n Q13_r_n Q14_r_n Q15_r_n/ref=first param=ref;
model R1_out(event='1')=/*STAT_R NOCA_R*/ SSU_LTHS pct_Census_UAA_CEN_2010 pct_Crowd_Occp_U_ACS_09_13 pct_Female_No_HB_ACS_09_13
pct_HHD_Moved_in_ACS_09_13 pct_HHD_PPL_Und_18_ACS_09_13 pct_MLT_U2_9_STRC_ACS_09_13 pct_NH_AIAN_alone_ACS_09_13
pct_NH_Blk_alone_ACS_09_13 pct_NH_White_alone_CEN_2010 pct_Othr_Lang_ACS_09_13 pct_PUB_ASST_INC_ACS_09_13 

Q0_r_n Q1_r_n Q2_r_n Q3_r_n Q4_r_n Q5_r_n Q6_r_n Q7_r_n Q8_r_n Q9_r_n Q10_r_n Q11_r_n Q12_r_n Q13_r_n Q14_r_n Q15_r_n

                   / selection=stepwise
				     INCLUDE=12
                     slentry=0.15
                     slstay=0.05
                     details
                     lackfit
					 RSQUARE;
        run;
/* 0 selected : None*/

/*option 3: fix RP & the two IO variable selected in the paper , select VO variables*/
 proc logistic data=model ;
title "RP & IO model variables fixed, selecte VO variables";
          CLASS NOCA_R STAT_R DU_KIDS DU_PPL Q0_r_n Q1_r_n Q2_r_n Q3_r_n Q4_r_n Q5_r_n Q6_r_n Q7_r_n Q8_r_n Q9_r_n Q10_r_n Q11_r_n 
Q12_r_n Q13_r_n Q14_r_n Q15_r_n/ref=first param=ref;
model R1_out(event='1')=/*STAT_R NOCA_R*/ SSU_LTHS pct_Census_UAA_CEN_2010 pct_Crowd_Occp_U_ACS_09_13 pct_Female_No_HB_ACS_09_13
pct_HHD_Moved_in_ACS_09_13 pct_HHD_PPL_Und_18_ACS_09_13 pct_MLT_U2_9_STRC_ACS_09_13 pct_NH_AIAN_alone_ACS_09_13
pct_NH_Blk_alone_ACS_09_13 pct_NH_White_alone_CEN_2010 pct_Othr_Lang_ACS_09_13 pct_PUB_ASST_INC_ACS_09_13 DU_KIDS DU_PPL
Q0_r_n Q1_r_n Q2_r_n Q3_r_n Q4_r_n Q5_r_n Q6_r_n Q7_r_n Q8_r_n Q9_r_n Q10_r_n Q11_r_n Q12_r_n Q13_r_n Q14_r_n Q15_r_n

                   / selection=stepwise
				     INCLUDE=14
                     slentry=0.15
                     slstay=0.05
                     details
                     lackfit
					 RSQUARE;
        run;
/* 0 selected*/

/*option 4: fix RP & the one VO variable selected in the paper , select IO variables*/
 proc logistic data=model ;
title "RP & VO model variables fixed, selecte IO variables";
          CLASS NOCA_R STAT_R DU_KIDS DU_KIDS DU_PPL Q5_r_n Q9_r_n /ref=first param=ref;
model R1_out(event='1')=/*STAT_R NOCA_R*/ SSU_LTHS pct_Census_UAA_CEN_2010 pct_Crowd_Occp_U_ACS_09_13 pct_Female_No_HB_ACS_09_13
pct_HHD_Moved_in_ACS_09_13 pct_HHD_PPL_Und_18_ACS_09_13 pct_MLT_U2_9_STRC_ACS_09_13 pct_NH_AIAN_alone_ACS_09_13
pct_NH_Blk_alone_ACS_09_13 pct_NH_White_alone_CEN_2010 pct_Othr_Lang_ACS_09_13 pct_PUB_ASST_INC_ACS_09_13 Q5_r_n Q9_r_n

DU_TYPE_BI NH_INC_BI DU_KIDS DU_PPL Q5_NOTWELLKEPT Q5_NOTMAINTAINED Q5_VEHICLE Q5_LONGGRASS
                   / selection=stepwise
				     INCLUDE=16
                     slentry=0.15
                     slstay=0.15
                     details
                     lackfit
					 RSQUARE;
        run;
/* 2 variable selected, same as option 3*/

/*option 5: fix RP variable  , select IO & VO variables*/
 proc logistic data=model ;
title "RP model variables fixed, selecte IO & VO variables";
          CLASS NOCA_R STAT_R DU_KIDS DU_PPL 
Q0_r_n Q1_r_n Q2_r_n Q3_r_n Q4_r_n Q5_r_n Q6_r_n Q7_r_n Q8_r_n Q9_r_n Q10_r_n Q11_r_n Q12_r_n Q13_r_n Q14_r_n Q15_r_n/ref=first param=ref;
model R1_out(event='1')=/*STAT_R NOCA_R*/ SSU_LTHS pct_Census_UAA_CEN_2010 pct_Crowd_Occp_U_ACS_09_13 pct_Female_No_HB_ACS_09_13
pct_HHD_Moved_in_ACS_09_13 pct_HHD_PPL_Und_18_ACS_09_13 pct_MLT_U2_9_STRC_ACS_09_13 pct_NH_AIAN_alone_ACS_09_13
pct_NH_Blk_alone_ACS_09_13 pct_NH_White_alone_CEN_2010 pct_Othr_Lang_ACS_09_13 pct_PUB_ASST_INC_ACS_09_13 

DU_TYPE_BI NH_INC_BI DU_KIDS DU_PPL Q5_NOTWELLKEPT Q5_NOTMAINTAINED Q5_VEHICLE Q5_LONGGRASS 
Q0_r_n Q1_r_n Q2_r_n Q3_r_n Q4_r_n Q5_r_n Q6_r_n Q7_r_n Q8_r_n Q9_r_n Q10_r_n Q11_r_n Q12_r_n Q13_r_n Q14_r_n Q15_r_n
                   / selection=stepwise
				     INCLUDE=12
                     slentry=0.15
                     slstay=0.05
                     details
                     lackfit
					 RSQUARE;
        run;
/* 2 variables selected, DU_KIDS DU_PPL*/

/*   Final Models   */
proc freq data=model;where R1_out=1;
table R2_out NOCA_R STAT_R  HHSIZE2 SNAP WIC KID_UNDER_5 KID_UNDER_18 DOMAIN_BI DOMAIN_SCR;run;

data model;set model;where R1_out=1;
if KID_UNDER_5=. then KID_UNDER_5=2;
if KID_UNDER_18=. then KID_UNDER_18=2;
if DOMAIN_BI=. then DOMAIN_BI=2;
run;

/* For Final Respondents, use Screener variables*/
PROC LOGISTIC DATA=model;
title "RP model for final response";
where R1_out=1;
    CLASS NOCA_R STAT_R DOMAIN_BI KID_UNDER_5 KID_UNDER_18 DOMAIN_BI/ref=first param=ref;
    MODEL R2_out (event="1") =  STAT_R NOCA_R SSU_LTHS pct_Census_UAA_CEN_2010 pct_Crowd_Occp_U_ACS_09_13 pct_Female_No_HB_ACS_09_13
pct_HHD_Moved_in_ACS_09_13 pct_HHD_PPL_Und_18_ACS_09_13 pct_MLT_U2_9_STRC_ACS_09_13 pct_NH_AIAN_alone_ACS_09_13
pct_NH_Blk_alone_ACS_09_13 pct_NH_White_alone_CEN_2010 pct_Othr_Lang_ACS_09_13 pct_PUB_ASST_INC_ACS_09_13
HHSIZE2 SNAP WIC KID_UNDER_5 KID_UNDER_18 DOMAIN_BI/selection=stepwise INCLUDE=14 RSQUARE;
run;
/*DOMAIN_SCR*/
/*None of the Screener-level variables are significant*/

/*Stepwise regression*/
/*option 1: fix RP variable, select IO variables  */
 proc logistic data=model ;where R1_out=1;
title "RP model variables fixed, selecte IO variables";
          CLASS NOCA_R STAT_R DU_KIDS DU_PPL/ref=first param=ref;
model R2_out(event='1')=STAT_R NOCA_R SSU_LTHS pct_Census_UAA_CEN_2010 pct_Crowd_Occp_U_ACS_09_13 pct_Female_No_HB_ACS_09_13
pct_HHD_Moved_in_ACS_09_13 pct_HHD_PPL_Und_18_ACS_09_13 pct_MLT_U2_9_STRC_ACS_09_13 pct_NH_AIAN_alone_ACS_09_13
pct_NH_Blk_alone_ACS_09_13 pct_NH_White_alone_CEN_2010 pct_Othr_Lang_ACS_09_13 pct_PUB_ASST_INC_ACS_09_13 

DU_TYPE_BI NH_INC_BI DU_KIDS DU_PPL Q5_NOTWELLKEPT Q5_NOTMAINTAINED Q5_VEHICLE Q5_LONGGRASS

                   / selection=stepwise
				     INCLUDE=14
                     slentry=0.15
                     slstay=0.05
                     details
                     lackfit
					 RSQUARE;
        run;
/* No variables selected*/

/*option 2: fix RP variable, select VO variables*/
 proc logistic data=model ;where R1_out=1;
title "RP model variables fixed, selecte VO variables";
          CLASS NOCA_R STAT_R Q0_r_n Q1_r_n Q2_r_n Q3_r_n Q4_r_n Q5_r_n Q6_r_n Q7_r_n Q8_r_n Q9_r_n Q10_r_n Q11_r_n 
Q12_r_n Q13_r_n Q14_r_n Q15_r_n/ref=first param=ref;
model R2_out(event='1')=STAT_R NOCA_R SSU_LTHS pct_Census_UAA_CEN_2010 pct_Crowd_Occp_U_ACS_09_13 pct_Female_No_HB_ACS_09_13
pct_HHD_Moved_in_ACS_09_13 pct_HHD_PPL_Und_18_ACS_09_13 pct_MLT_U2_9_STRC_ACS_09_13 pct_NH_AIAN_alone_ACS_09_13
pct_NH_Blk_alone_ACS_09_13 pct_NH_White_alone_CEN_2010 pct_Othr_Lang_ACS_09_13 pct_PUB_ASST_INC_ACS_09_13 

Q0_r_n Q1_r_n Q2_r_n Q3_r_n Q4_r_n Q5_r_n Q6_r_n Q7_r_n Q8_r_n Q9_r_n Q10_r_n Q11_r_n Q12_r_n Q13_r_n Q14_r_n Q15_r_n

                   / selection=stepwise
				     INCLUDE=14
                     slentry=0.15
                     slstay=0.05
                     details
                     lackfit
					 RSQUARE;
        run;
/* 1 selected: Q8_r_n*/

/*option 3: fix RP & the two IO variable selected in the paper , select VO variables*/
 proc logistic data=model ;
title "RP & IO model variables fixed, selecte VO variables";
          CLASS NOCA_R STAT_R DU_KIDS Q0_r_n Q1_r_n Q2_r_n Q3_r_n Q4_r_n Q5_r_n Q6_r_n Q7_r_n Q8_r_n Q9_r_n Q10_r_n Q11_r_n 
Q12_r_n Q13_r_n Q14_r_n Q15_r_n/ref=first param=ref;
model R1_out(event='1')=STAT_R NOCA_R SSU_LTHS pct_Census_UAA_CEN_2010 pct_Crowd_Occp_U_ACS_09_13 pct_Female_No_HB_ACS_09_13
pct_HHD_Moved_in_ACS_09_13 pct_HHD_PPL_Und_18_ACS_09_13 pct_MLT_U2_9_STRC_ACS_09_13 pct_NH_AIAN_alone_ACS_09_13
pct_NH_Blk_alone_ACS_09_13 pct_NH_White_alone_CEN_2010 pct_Othr_Lang_ACS_09_13 pct_PUB_ASST_INC_ACS_09_13 NH_INC_BI DU_KIDS
Q0_r_n Q1_r_n Q2_r_n Q3_r_n Q4_r_n Q5_r_n Q6_r_n Q7_r_n Q8_r_n Q9_r_n Q10_r_n Q11_r_n Q12_r_n Q13_r_n Q14_r_n Q15_r_n

                   / selection=stepwise
				     INCLUDE=16
                     slentry=0.15
                     slstay=0.15
                     details
                     lackfit
					 RSQUARE;
        run;
/* None selected, same as option 2*/

/*option 4: fix RP & the 3 VO variable selected in the paper , select IO variables*/
 proc logistic data=model ;where R1_out=1;
title "RP & VO model variables fixed, selecte IO variables";
          CLASS NOCA_R STAT_R DU_KIDS DU_KIDS DU_PPL Q7_r_n Q8_r_n Q10_r_n/ref=first param=ref;
model R2_out(event='1')=STAT_R NOCA_R SSU_LTHS pct_Census_UAA_CEN_2010 pct_Crowd_Occp_U_ACS_09_13 pct_Female_No_HB_ACS_09_13
pct_HHD_Moved_in_ACS_09_13 pct_HHD_PPL_Und_18_ACS_09_13 pct_MLT_U2_9_STRC_ACS_09_13 pct_NH_AIAN_alone_ACS_09_13
pct_NH_Blk_alone_ACS_09_13 pct_NH_White_alone_CEN_2010 pct_Othr_Lang_ACS_09_13 pct_PUB_ASST_INC_ACS_09_13  Q8_r_n 

DU_TYPE_BI NH_INC_BI DU_KIDS DU_PPL Q5_NOTWELLKEPT Q5_NOTMAINTAINED Q5_VEHICLE Q5_LONGGRASS
                   / selection=stepwise
				     INCLUDE=15
                     slentry=0.15
                     slstay=0.05
                     details
                     lackfit
					 RSQUARE;
        run;
/* 0 variable selected, same as option 2*/

/*option 5: fix RP variable  , select IO & VO variables*/
 proc logistic data=model ;where R1_out=1;
title "RP model variables fixed, selecte IO & VO variables";
          CLASS NOCA_R STAT_R DU_KIDS DU_KIDS DU_PPL 
Q0_r_n Q1_r_n Q2_r_n Q3_r_n Q4_r_n Q5_r_n Q6_r_n Q7_r_n Q8_r_n Q9_r_n Q10_r_n Q11_r_n Q12_r_n Q13_r_n Q14_r_n Q15_r_n/ref=first param=ref;
model R2_out(event='1')=STAT_R NOCA_R SSU_LTHS pct_Census_UAA_CEN_2010 pct_Crowd_Occp_U_ACS_09_13 pct_Female_No_HB_ACS_09_13
pct_HHD_Moved_in_ACS_09_13 pct_HHD_PPL_Und_18_ACS_09_13 pct_MLT_U2_9_STRC_ACS_09_13 pct_NH_AIAN_alone_ACS_09_13
pct_NH_Blk_alone_ACS_09_13 pct_NH_White_alone_CEN_2010 pct_Othr_Lang_ACS_09_13 pct_PUB_ASST_INC_ACS_09_13 

DU_TYPE_BI NH_INC_BI DU_KIDS DU_PPL Q5_NOTWELLKEPT Q5_NOTMAINTAINED Q5_VEHICLE Q5_LONGGRASS 
Q0_r_n Q1_r_n Q2_r_n Q3_r_n Q4_r_n Q5_r_n Q6_r_n Q7_r_n Q8_r_n Q9_r_n Q10_r_n Q11_r_n Q12_r_n Q13_r_n Q14_r_n Q15_r_n
                   / selection=stepwise
				     INCLUDE=14
                     slentry=0.15
                     slstay=0.05
                     details
                     lackfit
					 RSQUARE;
        run;
/* 1 variables selected, Q8_r_n, same as option 2/3/4*/




