/*--------------------------------------------------------------------------------------------------- analyse exemplar 6data in Stata using detailed file of original questions How to use this file everything inside (star slash) and (slash star) is taken as a comment open it in the Stata do file editor run one line or group of lines at a time by either highlighting them and going to do in the tools menu 'do selection' or press ctrl^d first read in the file, but before this increase the memory available to Stata because this exemplar needs it. this command with your file name will do it or use the menus You must increased the memory before reading the data. Change the file name to where you have the data stored. -------------------------------------------------------------------------------------------------------*/ clear set memory 900m use "C:\Documents and Settings\gillian raab\My Documents\aprojects\peaslaptop\ex6datafiles\data\ex6det.dta", clear /************************************************************************ ************************************************************************/ /*--------------------------------------------------------------------------------------------------------- the imputation method we will use is the implementation of mice for Stata by patrick royston. this is also an add-on package. to install it, do a web search net resources for mice (in capital letters) and install the package. you can then use and get help for the commands mvis - to do the imputation micombine - for analysing multiple imputations mijoin misplit A NEW VERSION OF THIS WILL BE AVAILABLE SHORTLY WITH mvis RENAMED AS ice the results will be saved in a data set called prevonlyimp.dta. the m(4) subcommand gets 4 sets of imputed data. genmiss(miss) creates new variables to show which ones have been imputed. seed sets the seed for the random number so that we can get exactly the same results again We have selected the ordered logit option for all 102 questions and include all the variables in the model. IT IS IMPORTANT TO USE THE DRAW OPTION HERE SINCE THERE IS A PROBLEM WITH THE DEFAULT METHOD OF PREDICTIVE MEAN MATCHING ----------------------------------------------------------------------------------------------------------*/ #delimit; ice2 yfyfrd02 ycyrab02 yaybus02 yayshp02 yaybop02 yayjrd02 yayscl02 yaywep02 yayvnd02 yayhbk02 yaygrf02 yayrob02 yayhom02 yayars02 yayhit02 yaycbk02 yayskv02 ybybus02 ybyshp02 ybybop02 ybyjrd02 ybyscl02 ybywep02 ybyvnd02 ybyhbk02 ybygrf02 ybyrob02 ybyhom02 ybyars02 ybyhit02 ybycbk02 ybyskv02 ybypet02 ycybus02 ycyshp02 ycybop02 ycyjrd02 ycyscl02 ycywep02 ycyvnd02 ycyhbk02 ycygrf02 ycyrob02 ycyhom02 ycyars02 ycyhit02 ycycbk02 ycyskv02 ycypet02 ycydrg02 ydybus02 ydyshp02 ydybop02 ydyjrd02 ydyscl02 ydywep02 ydyvnd02 ydyhbk02 ydygrf02 ydyrob02 ydyhom02 ydyars02 ydyhit02 ydycbk02 ydyskv02 ydypet02 ydydrg02 ydyrab02 yeybus02 yeyshp02 yeybop02 yeyjrd02 yeywep02 yeyvnd02 yeyhbk02 yeygrf02 yeyrob02 yeyars02 yeyhit02 yeycbk02 yeyskv02 yeypet02 yeydrg02 yeyrab02 yeyrst02 yfyshp02 yfybop02 yfyjrd02 yfywep02 yfyvnd02 yfyhbk02 yfyrob02 yfyars02 yfyhit02 yfycbk02 yfyskv02 yfypet02 yfydrg02 yfyrab02 yfyrst02 yfyrst22 yfybft02 yfyfrd02 gender , using imp1 , seed(812736) m(10) cmd(ologit) replace ; #delimit cr /************************************************************************ This failed as models too big and had convergence problems So break up into smaller sets of variables then the variables are imputed from the other ones in their group. There are a total of 9 such groups, same procedure for each group. Gender (no missing data) is included along with each one. ************************************************************************/ use "C:\Documents and Settings\gillian raab\My Documents\aprojects\peaslaptop\ex6datafiles\data\ex6det.dta", clear; /*----------- first save just these variables-----------*/ #delimit; keep caseid yaybus02 ybybus02 ycybus02 ydybus02 yeybus02 yayskv02 ybyskv02 ycyskv02 ydyskv02 yeyskv02 yfyskv02 yeyrst02 yfyrst02 yfyrst22 yfybft02 yfyfrd02 gender; /*------------ then impute-----------------------------*/ #delimit; ice2 yaybus02 ybybus02 ycybus02 ydybus02 yeybus02 yayskv02 ybyskv02 ycyskv02 ydyskv02 yeyskv02 yfyskv02 yeyrst02 yfyrst02 yfyrst22 yfybft02 yfyfrd02 gender using imp1 , seed(812736) m(10) cmd(ologit) genmiss(m) replace ; #delimit cr /*-------------------- some sample plots for observed and imputed data------*/ histogram yfyskv02, discrete percent gap(50) bfcolor(red) blcolor(red) xtitle(Skiving school sweep 6)by(myfyskv02, legend(off)) use "C:\Documents and Settings\gillian raab\My Documents\aprojects\peaslaptop\ex6datafiles\data\ex6det.dta", clear /************************************************************************/ #delimit ; keep caseid yayshp02 ybyshp02 ycyshp02 ydyshp02 yeyshp02 yfyshp02 yayscl02 ybyscl02 ycyscl02 ydyscl02 yayhom02 ybyhom02 ycyhom02 ydyhom02 gender; #delimit; ice2 yayshp02 ybyshp02 ycyshp02 ydyshp02 yeyshp02 yfyshp02 yayscl02 ybyscl02 ycyscl02 ydyscl02 yayhom02 ybyhom02 ycyhom02 ydyhom02 gender using imp2 , seed(67736) m(10) genmiss(m) cmd(ologit) replace; #delimit cr /*-------------------- some sample plots for observed and imputed data------*/ histogram yfyskv02, discrete percent gap(50) bfcolor(red) blcolor(red) xtitle(Skiving school sweep 6)by(myfyskv02, legend(off)) use "C:\Documents and Settings\gillian raab\My Documents\aprojects\peaslaptop\ex6datafiles\data\ex6det.dta", clear /**********************************************************************/ #delimit; keep caseid yaycbk02 ybycbk02 ycycbk02 ydycbk02 yeycbk02 yfycbk02 yayjrd02 ybyjrd02 ycyjrd02 ydyjrd02 yeyjrd02 yfyjrd02 yayrob02 ybyrob02 gender; #delimit; ice2 yaycbk02 ybycbk02 ycycbk02 ydycbk02 yeycbk02 yfycbk02 yayjrd02 ybyjrd02 ycyjrd02 ydyjrd02 yeyjrd02 yfyjrd02 yayrob02 ybyrob02 gender using imp3,draw seed(899736) m(10) genmiss(m) cmd(ologit) replace; #delimit cr /*-------------------- some sample plots for observed and imputed data------*/ use imp3,clear histogram ydycbk02, discrete percent gap(50) bfcolor(red) blcolor(red) xtitle(Car breaking sweep 4)by(mydycbk02, legend(off)) use "C:\Documents and Settings\gillian raab\My Documents\aprojects\peaslaptop\ex6datafiles\data\ex6det.dta", clear /*****************************************************************/ #delimit; keep caseid yaywep02 ybywep02 ycywep02 ydywep02 yeywep02 yfywep02 ycydrg02 ydydrg02 yeydrg02 yfydrg02 gender yayhit02 ybyhit02 ycyhit02 ydyhit02 yeyhit02 yfyhit02 ; #delimit; ice2 yaywep02 ybywep02 ycywep02 ydywep02 yeywep02 yfywep02 ycydrg02 ydydrg02 yeydrg02 yfydrg02 gender yayhit02 ybyhit02 ycyhit02 ydyhit02 yeyhit02 yfyhit02 using imp4 , seed(87646) m(10) genmiss(m) cmd(ologit) replace; #delimit cr use "C:\Documents and Settings\gillian raab\My Documents\aprojects\peaslaptop\ex6datafiles\data\ex6det.dta", clear /***********************************************************************/ use imp4,clear histogram yaywep02, discrete percent gap(50) bfcolor(red) blcolor(red) xtitle(Weapon carrying sweep 1)by(myaywep02, legend(off)) replace yaywep02=round(yaywep02) replace yaywep02=0 if yaywep02<0 #delimit; keep caseid yayvnd02 ybyvnd02 ycyvnd02 ydyvnd02 yeyvnd02 yfyvnd02 yaygrf02 ybygrf02 ycygrf02 ydygrf02 yeygrf02 gender yayars02 ybyars02 ycyars02 ydyars02 yeyars02 yfyars02 ; #delimit; ice2 yayvnd02 ybyvnd02 ycyvnd02 ydyvnd02 yeyvnd02 yfyvnd02 yaygrf02 ybygrf02 ycygrf02 ydygrf02 yeygrf02 gender yayars02 ybyars02 ycyars02 ydyars02 yeyars02 yfyars02 using imp5 , seed(99806) m(10) genmiss(m) cmd(ologit) replace; #delimit cr /*===================== check imputations graphically--------------*/ use imp5,clear histogram yayars02, discrete percent gap(50) bfcolor(red) blcolor(red) by(myayars02, legend(off)) use "C:\Documents and Settings\gillian raab\My Documents\aprojects\peaslaptop\ex6datafiles\data\ex6det.dta", clear /*************************************************************************/ #delimit; keep caseid ycyrab02 ydyrab02 yeyrab02 yfyrab02 gender; #delimit; ice2 ycyrab02 ydyrab02 yeyrab02 yfyrab02 gender using imp6 , seed(8146) m(10) genmiss(m) cmd(ologit) replace; #delimit cr /*===================== check imputations graphically--------------*/ use imp6,clear histogram ycyrab02, discrete percent gap(50) bfcolor(red) blcolor(red) by(mycyrab02, legend(off)) use "C:\Documents and Settings\gillian raab\My Documents\aprojects\peaslaptop\ex6datafiles\data\ex6det.dta", clear /*************************************************************************/ #delimit; keep caseid gender yayhbk02 ybyhbk02 ycyhbk02 ydyhbk02 yeyhbk02 yfyhbk02 ycyrob02 ydyrob02 yeyrob02 yfyrob02 ; #delimit; ice2 yayhbk02 ybyhbk02 ycyhbk02 ydyhbk02 yeyhbk02 yfyhbk02 ycyrob02 ydyrob02 yeyrob02 yfyrob02 gender using imp7 , seed(2246) m(10) genmiss(m) cmd(ologit) replace; #delimit cr use "C:\Documents and Settings\gillian raab\My Documents\aprojects\peaslaptop\ex6datafiles\data\ex6det.dta", clear /*===================== check imputations graphically--------------*/ use imp7,clear histogram yeyrob02, discrete percent gap(50) bfcolor(red) blcolor(red) by(myeyrob02, legend(off)) /***********************************************************************/ #delimit; keep caseid ybypet02 ycypet02 ydypet02 yeypet02 yfypet02 gender; #delimit; ice2 ybypet02 ycypet02 ydypet02 yeypet02 yfypet02 gender using imp8 , seed(8146) m(10) genmiss(m) cmd(ologit) replace; #delimit cr /*===================== check imputations graphically--------------*/ use imp8,clear histogram yeypet02, discrete percent gap(50) bfcolor(red) blcolor(red) by(myeypet02, legend(off)) use "C:\Documents and Settings\gillian raab\My Documents\aprojects\peaslaptop\ex6datafiles\data\ex6det.dta", clear /****************** save some extra complete variables too *********************************/ #delimit; keep caseid yaybop02 ybybop02 ycybop02 ydybop02 yeybop02 yfybop02 szindep sector gender; #delimit; ice2 yaybop02 ybybop02 ycybop02 ydybop02 yeybop02 yfybop02 gender using imp9 , seed(43146) m(10) genmiss(m) cmd(ologit) replace; /*-------------------- some sample plots for observed and imputed data------*/ use imp9 histogram yfybop02, discrete percent gap(50) bfcolor(red) blcolor(red) xtitle(Variety sweep 1)by(myfybop02, legend(off)) /************************************************************************ Now merge them together ************************************************************************/ use imp1,clear merge using imp2 drop _merge merge using imp3 drop _merge merge using imp4 drop _merge merge using imp5 drop _merge merge using imp6 drop _merge merge using imp7 drop _merge merge using imp8 drop _merge merge using imp9 drop _merge save impdetail,replace /*-------- now code to calculate scores-------------------------------*/ /*---------------------------- sweep 1---------------------------------------*/ #delimit; recode yaybus02 yaybop02 yayshp02 yayjrd02 yayscl02 yaywep02 yaygrf02 yayrob02 yayvnd02 yayhbk02 yayhom02 yaycbk02 yayars02 yayhit02 yayskv02 (7=11); gen dvol1= yaybus02+yaybop02+yayshp02+yayjrd02+yayscl02+yaywep02+yaygrf02+yayrob02 + yayvnd02+yayhbk02+yayhom02+yaycbk02+yayars02+yayhit02+yayskv02; recode yaybus02 yaybop02 yayshp02 yayjrd02 yayscl02 yaywep02 yaygrf02 yayrob02 yayvnd02 yayhbk02 yayhom02 yaycbk02 yayars02 yayhit02 yayskv02 (1 2 3 4 5 6 11=1); gen dvar1= yaybus02+yaybop02+yayshp02+yayjrd02+yayscl02+yaywep02+yaygrf02+yayrob02 + yayvnd02+yayhbk02+yayhom02+yaycbk02+yayars02+yayhit02+yayskv02; gen dprev1=0; replace dprev1=1 if dvar1>0; drop yaybus02 yaybop02 yayshp02 yayjrd02 yayscl02 yaywep02 yaygrf02 yayrob02 yayvnd02 yayhbk02 yayhom02 yaycbk02 yayars02 yayhit02 yayskv02 ; /*---------------------------- sweep 2---------------------------------------*/ #delimit; recode ybybus02 ybybop02 ybyshp02 ybyjrd02 ybyscl02 ybywep02 ybygrf02 ybyrob02 ybyvnd02 ybyhbk02 ybyhom02 ybycbk02 ybyars02 ybyhit02 ybyskv02 ybypet02 (7=11) ; gen dvol2= ybybus02+ybybop02+ybyshp02+ybyjrd02+ybyscl02+ybywep02+ybygrf02+ybyrob02 + ybyvnd02+ybyhbk02+ybyhom02+ybycbk02+ybyars02+ybyhit02+ybyskv02+ybypet02; recode ybybus02 ybybop02 ybyshp02 ybyjrd02 ybyscl02 ybywep02 ybygrf02 ybyrob02 ybyvnd02 ybyhbk02 ybyhom02 ybycbk02 ybyars02 ybyhit02 ybyskv02 ybypet02 (1/11=1) ; gen dvar2= ybybus02+ybybop02+ybyshp02+ybyjrd02+ybyscl02+ybywep02+ybygrf02+ybyrob02 + ybyvnd02+ybyhbk02+ybyhom02+ybycbk02+ybyars02+ybyhit02+ybyskv02+ybypet02; gen dprev2=0; replace dprev2=1 if dvar2>0; drop ybybus02 ybybop02 ybyshp02 ybyjrd02 ybyscl02 ybywep02 ybygrf02 ybyrob02 ybyvnd02 ybyhbk02 ybyhom02 ybycbk02 ybyars02 ybyhit02 ybyskv02 ybypet02 ; /*---------------------------- sweep 3---------------------------------------*/ #delimit; recode ycybus02 ycybop02 ycyshp02 ycyjrd02 ycyscl02 ycywep02 ycygrf02 ycyrob02 ycyvnd02 ycyhbk02 ycyhom02 ycycbk02 ycyars02 ycyhit02 ycyskv02 ycypet02 ycydrg02 ycyrab02 (7=11); gen dvol3= ycybus02+ycybop02+ycyshp02+ycyjrd02+ycyscl02+ycywep02+ycygrf02+ycyrob02 + ycyvnd02+ycyhbk02+ycyhom02+ycycbk02+ycyars02+ycyhit02+ycyskv02+ ycypet02+ycydrg02+ycyrab02; recode ycybus02 ycybop02 ycyshp02 ycyjrd02 ycyscl02 ycywep02 ycygrf02 ycyrob02 ycyvnd02 ycyhbk02 ycyhom02 ycycbk02 ycyars02 ycyhit02 ycyskv02 ycypet02 ycydrg02 ycyrab02 (1/11=1); gen dvar3= ycybus02+ycybop02+ycyshp02+ycyjrd02+ycyscl02+ycywep02+ycygrf02+ycyrob02 + ycyvnd02+ycyhbk02+ycyhom02+ycycbk02+ycyars02+ycyhit02+ycyskv02+ ycypet02+ycydrg02+ycyrab02; gen dprev3=0; replace dprev3=1 if dvar3>0; drop ycybus02 ycybop02 ycyshp02 ycyjrd02 ycyscl02 ycywep02 ycygrf02 ycyrob02 ycyvnd02 ycyhbk02 ycyhom02 ycycbk02 ycyars02 ycyhit02 ycyskv02 ycypet02 ycydrg02 ycyrab02; /*---------------------------- sweep 4---------------------------------------*/ #delimit; recode ydybus02 ydybop02 ydyshp02 ydyjrd02 ydyscl02 ydywep02 ydygrf02 ydyrob02 ydyvnd02 ydyhbk02 ydyhom02 ydycbk02 ydyars02 ydyhit02 ydyskv02 ydypet02 ydydrg02 ydyrab02 (7=11); gen dvol4= ydybus02+ydybop02+ydyshp02+ydyjrd02+ydyscl02+ydywep02+ydygrf02+ydyrob02 +ydyvnd02+ydyhbk02+ydyhom02+ydycbk02+ydyars02+ydyhit02+ydyskv02+ ydypet02+ydydrg02+ydyrab02; recode ydybus02 ydybop02 ydyshp02 ydyjrd02 ydyscl02 ydywep02 ydygrf02 ydyrob02 ydyvnd02 ydyhbk02 ydyhom02 ydycbk02 ydyars02 ydyhit02 ydyskv02 ydypet02 ydydrg02 ydyrab02 (1/11=1); gen dvar4= ydybus02+ydybop02+ydyshp02+ydyjrd02+ydyscl02+ydywep02+ydygrf02+ydyrob02 + ydyvnd02+ydyhbk02+ydyhom02+ydycbk02+ydyars02+ydyhit02+ydyskv02+ ydypet02+ydydrg02+ydyrab02; gen dprev4=0; replace dprev4=1 if dvar4>0; drop ydybus02 ydybop02 ydyshp02 ydyjrd02 ydyscl02 ydywep02 ydygrf02 ydyrob02 ydyvnd02 ydyhbk02 ydyhom02 ydycbk02 ydyars02 ydyhit02 ydyskv02 ydypet02 ydydrg02 ydyrab02; /*---------------------------- sweep 5---------------------------------------*/ #delimit; recode yeybus02 yeybop02 yeyshp02 yeyjrd02 yeywep02 yeygrf02 yeyrob02 yeyvnd02 yeyhbk02 yeycbk02 yeyars02 yeyhit02 yeyskv02 yeypet02 yeydrg02 yeyrab02 yeyrst02 (7=11); gen dvol5= yeybus02+yeybop02+yeyshp02+yeyjrd02+yeywep02+yeygrf02+yeyrob02 + yeyvnd02+yeyhbk02+yeycbk02+yeyars02+yeyhit02+yeyskv02+yeypet02+ yeydrg02+yeyrab02+yeyrst02; recode yeybus02 yeybop02 yeyshp02 yeyjrd02 yeywep02 yeygrf02 yeyrob02 yeyvnd02 yeyhbk02 yeycbk02 yeyars02 yeyhit02 yeyskv02 yeypet02 yeydrg02 yeyrab02 yeyrst02 (1/11=1); gen dvar5= yeybus02+yeybop02+yeyshp02+yeyjrd02+yeywep02+yeygrf02+yeyrob02 + yeyvnd02+yeyhbk02+yeycbk02+yeyars02+yeyhit02+yeyskv02+yeypet02+ yeydrg02+yeyrab02+yeyrst02; gen dprev5=0; replace dprev5=1 if dvar5>0; drop yeybus02 yeybop02 yeyshp02 yeyjrd02 yeywep02 yeygrf02 yeyrob02 yeyvnd02 yeyhbk02 yeycbk02 yeyars02 yeyhit02 yeyskv02 yeypet02 yeydrg02 yeyrab02 yeyrst02; /*---------------------------- sweep 6---------------------------------------*/ #delimit; recode yfybop02 yfyshp02 yfyjrd02 yfywep02 yfyrob02 yfyvnd02 yfyhbk02 yfycbk02 yfyars02 yfyhit02 yfypet02 yfyskv02 yfydrg02 yfyrab02 yfyrst02 yfyrst22 yfybft02 yfyfrd02 (7=11); gen dvol6= yfybop02+yfyshp02+yfyjrd02+yfywep02+yfyrob02 + yfyvnd02+yfyhbk02+yfycbk02+yfyars02+yfyhit02+ yfypet02+yfyskv02+yfydrg02+yfyrab02+yfyrst02+ yfyrst22+yfybft02+yfyfrd02; recode yfybop02 yfyshp02 yfyjrd02 yfywep02 yfyrob02 yfyvnd02 yfyhbk02 yfycbk02 yfyars02 yfyhit02 yfypet02 yfyskv02 yfydrg02 yfyrab02 yfyrst02 yfyrst22 yfybft02 yfyfrd02 (1/11=1); gen dvar6= yfybop02+yfyshp02+yfyjrd02+yfywep02+yfyrob02 + yfyvnd02+yfyhbk02+yfycbk02+yfyars02+yfyhit02+ yfypet02+yfyskv02+yfydrg02+yfyrab02+yfyrst02+ yfyrst22+yfybft02+yfyfrd02; gen dprev6=0; replace dprev6=1 if dvar6>0; drop yfybop02 yfyshp02 yfyjrd02 yfywep02 yfyrob02 yfyvnd02 yfyhbk02 yfycbk02 yfyars02 yfyhit02 yfypet02 yfyskv02 yfydrg02 yfyrab02 yfyrst02 yfyrst22 yfybft02 yfyfrd02; #delimit cr save impfromdetail /*------------------------------------------------------------------------------------------------------------ now look at the results. you will have 10 sets of data one following the other with missing observations replaced and new variables starting with miss to indicate missingness At the end of the file you have two new variables (_i and _j by default). _i gives the sequence number in the original file _j is 1 for the first imputation and 2 for the second and so on. ----------------------------------------------------------------------*/ /*-------------------- examine contents---------------------------------------------------------*/ histogram dvol1, percent bfcolor(red) blcolor(red) xtitle(Volume sweep 1)by(missdvol1, legend(off)) tabulate missdvar6 dvar6, row bysort _j: tabulate missdvar6 dprev6, row #delimit; sort gender _j; by gender : summarize dprev1 dprev2 dprev3 dprev4 dprev5 dprev6 dvol1 dvol2 dvol3 dvol4 dvol5 dvol6 dvar1 dvar2 dvar3 dvar4 dvar5 dvar6; by gender _j:summarize dprev1 dprev2 dprev3 dprev4 dprev5 dprev6 dvol1 dvol2 dvol3 dvol4 dvol5 dvol6 dvar1 dvar2 dvar3 dvar4 dvar5 dvar6; /*-------------------- now post imputation procedures one vatriable at a time-------------*/ tab gender, gen(dgen) micombine regress dprev1 dgen1 dgen2, noconstant micombine regress dprev6 dgen1 dgen2, noconstant micombine regress dvol1 dgen1 dgen2, noconstant micombine regress dvol6 dgen1 dgen2, noconstant micombine regress dvar1 dgen1 dgen2, noconstant micombine regress dvar6 dgen1 dgen2, noconstant /*------------ now merge with some variables from the big file--------------*/ use ex6 keep caseid szindep sector gender sort caseid save temp,replace use impfromdetail sort caseid joinby using temp save "C:\Documents and Settings\gillian raab\My Documents\aprojects\peaslaptop\data\MICEdet.dta" /*----------------------------------------------------------------------------------------------------------- Then a combined logistic regression incorporating the difference between the imputations into the standard errors and compare this with the observed data only -------------------------------------------------------------------------------------------------------------*/ tabulate sector, gen( secd) sort _j summarize dprev6 gender szindep secd2 secd3 secd4 micombine logistic dprev6 gender szindep secd2 secd3 secd4 micombine logistic dprev6 szindep gender sort szindep by szindep: summarize dprev6 /*------------------------------------------------------------- This extra code ws to test out a model that ran but gave wrong answers in SAS In Stata it gave an appropriate failure message -------------------------------------------------------------*/ use "C:\Documents and Settings\gillian raab\My Documents\aprojects\peaslaptop\ex6datafiles\data\ex6det.dta", clear /**********************************************************************/ #delimit; keep caseid yayars02 ybyars02 ycyars02 ydyars02 yeyars02 yfyars02 gender; gen byte arsa1=(yayars02==1);gen byte arsa2=(yayars02==2);gen byte arsa3=(yayars02==3); gen byte arsa4=(yayars02==4);gen byte arsa5=(yayars02==5);gen byte arsa6=(yayars02==6); gen byte arsa7=(yayars02==7); gen byte arsb1=(ybyars02==1);gen byte arsb2=(ybyars02==2);gen byte arsb3=(ybyars02==3); gen byte arsb4=(ybyars02==4);gen byte arsb5=(ybyars02==5);gen byte arsb6=(ybyars02==6); gen byte arsb7=(ybyars02==7); gen byte arsc1=(ycyars02==1);gen byte arsc2=(ycyars02==2);gen byte arsc3=(ycyars02==3); gen byte arsc4=(ycyars02==4);gen byte arsc5=(ycyars02==5);gen byte arsc6=(ycyars02==6); gen byte arsc7=(ycyars02==7); gen byte arsd1=(ydyars02==1);gen byte arsd2=(ydyars02==2);gen byte arsd3=(ydyars02==3); gen byte arsd4=(ydyars02==4);gen byte arsd5=(ydyars02==5);gen byte arsd6=(ydyars02==6); gen byte arsd7=(ydyars02==7); gen byte arse1=(yeyars02==1);gen byte arse2=(yeyars02==2);gen byte arse3=(yeyars02==3); gen byte arse4=(yeyars02==4);gen byte arse5=(yeyars02==5);gen byte arse6=(yeyars02==6); gen byte arse7=(yeyars02==7); gen byte arsf1=(yeyars02==1);gen byte arsf2=(yeyars02==2);gen byte arsf3=(yeyars02==3); gen byte arsf4=(yeyars02==4);gen byte arsf5=(yeyars02==5);gen byte arsf6=(yeyars02==6); gen byte arsf7=(yeyars02==7); ice2 arsa1 arsa2 arsa3 arsa4 arsa5 arsa6 arsa7 arsb1 arsb2 arsb3 arsb4 arsb5 arsb6 arsb7 arsc1 arsc2 arsc3 arsc4 arsc5 arsc6 arsc7 arsd1 arsd2 arsd3 arsd4 arsd5 arsd6 arsd7 arse1 arse2 arse3 arse4 arse5 arse6 arse7 arsf1 arsf2 arsf3 arsf4 arsf5 arsf6 arsf7 yayars02 ybyars02 ycyars02 ydyars02 yeyars02 yfyars02 gender using imptemp,replace seed(899736) m(1) genmiss(m) cmd(mlogit) passive (arsa1:yayars02==1\arsa2:yayars02==2\arsa3:yayars02==3\ arsa4:yayars02==4\arsa5:yayars02==5\arsa6:yayars02==6\ arsa3:yayars02==7\ arsb1:ybyars02==1\arsb2:ybyars02==2\arsb3:ybyars02==3\ arsb4:ybyars02==4\arsb5:ybyars02==5\arsb6:ybyars02==6\ arsb3:ybyars02==7\ arsc1:ycyars02==1\arsc2:ycyars02==2\arsc3:ycyars02==3\ arsc4:ycyars02==4\arsc5:ycyars02==5\arsc6:ycyars02==6\ arsc3:ycyars02==7\ arsd1:ydyars02==1\arsd2:ydyars02==2\arsd3:ydyars02==3\ arsd4:ydyars02==4\arsd5:ydyars02==5\arsd6:ydyars02==6\ arsd3:ydyars02==7\ arse1:yeyars02==1\arse2:yeyars02==2\arse3:yeyars02==3\ arse4:yeyars02==4\arse5:yeyars02==5\arse6:yeyars02==6\ arse3:yeyars02==7\ arsf1:yfyars02==1\arsf2:yfyars02==2\arsf3:yfyars02==3\ arsf4:yfyars02==4\arsf5:yfyars02==5\arsf6:yfyars02==6\ arsf3:yfyars02==7\ ) substitute( yayars02:arsa1 arsa2 arsa3 arsa4 arsa5 arsa6 arsa7, ybyars02:arsb1 arsb2 arsb3 arsb4 arsb5 arsb6 arsb7, ycyars02:arsc1 arsc2 arsc3 arsc4 arsc5 arsc6 arsc7, ydyars02:arsd1 arsd2 arsd3 arsd4 arsd5 arsd6 arsd7, yeyars02:arse1 arse2 arse3 arse4 arse5 arse6 arse7, yfyars02:arsf1 arsf2 arsf3 arsf4 arsf5 arsf6 arsf7 ); #delimit cr use imptemp,clear histogram yayars02, discrete percent gap(50) bfcolor(red) blcolor(red) xtitle(Variety sweep 1)by(myayars02, legend(off)) histogram ybyars02, discrete percent gap(50) bfcolor(red) blcolor(red) xtitle(Variety sweep 1)by(mybyars02, legend(off)) histogram ycyars02, discrete percent gap(50) bfcolor(red) blcolor(red) xtitle(Variety sweep 1)by(mycyars02, legend(off)) histogram ydyars02, discrete percent gap(50) bfcolor(red) blcolor(red) xtitle(Variety sweep 1)by(mydyars02, legend(off)) histogram yeyars02, discrete percent gap(50) bfcolor(red) blcolor(red) xtitle(Variety sweep 1)by(myeyars02, legend(off)) histogram yfyars02, discrete percent gap(50) bfcolor(red) blcolor(red) xtitle(Variety sweep 1)by(myfyars02, legend(off)) . ice x1 x1a x1b x2 x3 x23 using imputed, m(5) cmd(x1:ologit) passive(x1a:x1==2 \x1b:x1==3 \x23=x2*x3) substitute(x1:x1a x1b)