/* DO-FILE TO CODE 1996 VARIABLES AND RUN OLS REGRESSION ANALYSES AND DIAGNOSTICS*/ version 9.0 #delimit; /*GENEARATE BLACK FROM V960067*/ tab v960067; tab v960067, nolabel; generate black = v960067; recode black 1=0 2=1 3/7=0 9=. 0=.; label variable black "Black respondent"; label define blackl 0 "0 white" 1 "1 black"; label value black blackl; tab black; /*GENEARATE SEX FROM V960066*/ tab v960066; tab v960066, nolabel; generate sex = v960066; recode sex 1=0 2=1 9=.; label variable sex "Sex of respondent"; label define sexl 0 "0 male" 1 "1 female"; label value sex sexl; tab sex; /*GENERATE AGE FROM V960605*/ tab v960605; generate age = v960605; recode age 99=.; tab age; /*GENEARATE SOUTH FROM V960115*/ tab v960115; tab v960115, nolabel; generate south = v960115; recode south 1/2=0 3=1 4=0; label variable south "southerner"; label define southl 0 "0 nonsoutherner" 1 "1 southerner"; label value south southl; tab south; /*GENEARATE INCOME FROM V960701*/ tab v960701; tab v960701, nolabel; generate income = v960701; recode income 1/11=1 12/16=2 17/20=3 21/24=4 66/99=.; label variable income "income quartile (approx)"; label define incomel 1 "1st quartile" 2 "2nd quartile" 3 "3rd quartile" 4 "4th quartile"; label value income incomel; tab income; /*GENEARATE PID FROM V960420*/ tab v960420; tab v960420, nolabel; generate pid=v960420; recode pid 0=1 1=2 2=3 3=4 4=5 5=6 6=7 7/8=4 9=.; label variable pid "Party ID"; label define pidl 1 "1 strong Dem" 2 "2 weak Dem" 3 "3 ind Dem" 4 "4 pure ind" 5 "5 ind Rep" 6 "6 weak Rep" 7 "7 strong Rep"; label value pid pidl; tab pid; /*GENEARATE IDEO FROM V960365 AND V960366: USE V960366 PROBES OF HAVEN'T THOUGHT MUCH/MODERATE/DON'T KNOW IN V960365 TO PRESERVE SAMPLE SIZE*/ tab1 v960365 v960366; tab1 v960365 v960366, nolabel; generate ideo=v960365; recode ideo 0=. 8/9=.; label variable ideo "Ideological ID"; label define ideol 1 "1 ext lib" 2 "2 lib" 3 "3 sl lib" 4 "4 moderate" 5 "5 sl con" 6 "6 cons" 7 "7 ext con"; label value ideo ideol; replace ideo=3 if v960366==1; replace ideo=5 if v960366==2; replace ideo=4 if v960366==3; tab ideo; /*GENEARATE EQOPP FROM V961229 961231 921234*/ tab v961229; tab v961229, nolabel; generate eqopp1=v961229; recode eqopp1 1=5 2=4 3=3 4=2 5=1 8/9=. 0=.; label variable eqopp1 "soc see equal opp"; label define eqopp1l 1 "1 disag strongly" 2 "2 disag somewhat" 3 "3 neither ag nor disag" 4 "4 ag somewhat" 5 "5 ag strongly"; label value eqopp1 eqopp1l; tab eqopp1; tab v961231; tab v961231, nolabel; generate eqopp2=v961231; recode eqopp2 1=5 2=4 3=3 4=2 5=1 8/9=. 0=.; label variable eqopp2 "fewer probs treat eq"; label define eqopp2l 1 "1 disag strongly" 2 "2 disag somewhat" 3 "3 neither ag nor disag" 4 "4 ag somewhat" 5 "5 ag strongly"; label value eqopp2 eqopp2l; tab eqopp2; tab v961234; tab v961234, nolabel; generate eqopp3=v961234; recode eqopp3 1=5 2=4 3=3 4=2 5=1 8/9=. 0=.; label variable eqopp3 "big prob not eq chance"; label define eqopp3l 1 "1 disag strongly" 2 "2 disag somewhat" 3 "3 neither ag nor disag" 4 "4 ag somewhat" 5 "5 ag strongly"; label value eqopp3 eqopp3l; tab eqopp3; generate eqopp=eqopp1+eqopp2+eqopp3-2; label variable eqopp "Equal Opportunity Scale"; label define eqoppl 1 "1 Disag on more eq opp" 13 "13 ag on more eq op"; label value eqopp eqoppl; alpha eqopp1 eqopp2 eqopp3; tab eqopp; /*GENEARATE LIMGOV FROM V961144 V961145 V961146*/ tab v961144; tab v961144, nolabel; generate limgov1=v961144; recode limgov1 1=2 2=1 8/9=. 0=.; label variable limgov1 "less govt better"; label define limgov1l 1 "1 more govt" 2 "2 less govt"; label value limgov1 limgov1l; tab limgov1; tab v961145; tab v961145, nolabel; generate limgov2=v961145; recode limgov2 8/9=. 0=.; label variable limgov2 "free mkt"; label define limgov2l 1 "1 strong govt" 2 "2 free mkt"; label value limgov2 limgov2l; tab limgov2; tab v961146; tab v961146, nolabel; generate limgov3=v961146; recode limgov3 1=2 2=1 8/9=. 0=.; label variable limgov3 "govt too involved"; label define limgov3l 1 "1 probs got bigger" 2 "2 got too involved"; label value limgov3 limgov3l; tab limgov3; generate limgov=limgov1+limgov2+limgov3-2; label variable limgov "Limited Govt Scale"; label define limgovl 1 "1 favor strong govt" 4 "4 favor lim govt"; label value limgov limgovl; alpha limgov1 limgov2 limgov3; tab limgov; /*GENEARATE LAZY FROM V961312 V961315 V961318*/ tab v961312; tab v961312, nolabel; generate lazy=v961312; recode lazy 8/9=. 0=.; label variable lazy "r - blacks are lazy"; label define lazyl 1 "1 hardworking" 7 "7 lazy"; label value lazy lazyl; tab lazy; /*GENERATE SPEND_R FROM V960496 V960497*/ tab v960496; tab v960496, nolabel; generate food=v960496; recode food 1=3 2=1 3=2 7=1 8/9=.; label variable food "Food Stamps Spending Preferences"; label define foodl 1 "1 decrease" 2 "2 keep same" 3 "3 increase"; label value food foodl; tab food; tab v960497; tab v960496, nolabel; generate wel=v960497; recode wel 1=3 2=1 3=2 7=1 8/9=.; label variable wel "Welfare Spending Preferences"; label define well 1 "1 decrease" 2 "2 keep same" 3 "3 increase"; label value wel well; tab wel; generate spend_r=food+wel-2; label variable spend_r "Racialized Spending Scale"; label define spend_rl 0 "0 decrease" 4 "4 increase"; label value spend_r spend_rl; alpha food wel; tab spend_r; /*GENERATE SPEND_NR FROM V960501 V960560 V960564 V960565*/ tab v960501; tab v960501, nolabel; generate home=v960501; recode home 1=3 2=1 3=2 7=1 8/9=.; label variable home "Homeless Spending Preferences"; label define homel 1 "1 decrease" 2 "2 keep same" 3 "3 increase"; label value home homel; tab home; tab v960560; tab v960560, nolabel; generate soc=v960560; recode soc 1=3 2=1 3=2 7=1 8/9=.; label variable soc "Social Security Spending Preferences"; label define socl 1 "1 decrease" 2 "2 keep same" 3 "3 increase"; label value soc socl; tab soc; tab v960564; tab v960564, nolabel; generate child=v960564; recode child 1=3 2=1 3=2 7=1 8/9=.; label variable child "Child Care Spending Preferences"; label define childl 1 "1 decrease" 2 "2 keep same" 3 "3 increase"; label value child childl; tab child; tab v960565; tab v960565, nolabel; generate poor=v960565; recode poor 1=3 2=1 3=2 7=1 8/9=.; label variable poor "Poor People Spending Preferences"; label define poorl 1 "1 decrease" 2 "2 keep same" 3 "3 increase"; label value poor poorl; tab1 poor; generate spend_nr=(home+soc+child+poor-4)/2; label variable spend_nr "Nonracialized Spending Scale"; label define spend_nrl 0 "0 decrease" 4 "0 increase"; label value spend_r spend_rl; alpha home soc child poor; tab spend_nr; /*RUN OLS MODELS OF BOTH SPENDING PREFS*/ regress spend_r sex age south income pid ideo eqopp limgov lazy if black==0; regress spend_nr sex age south income pid ideo eqopp limgov lazy if black==0; /*RUN OLS MODELS OF BOTH SPENDING PREFS WITH NES PANEL/CROSS WEIGHT*/ regress spend_r sex age south income pid ideo eqopp limgov lazy if black==0 [pw=v960003]; regress spend_nr sex age south income pid ideo eqopp limgov lazy if black==0 [pw=v960003]; /*RUN OLS MODELS OF BOTH SPENDING PREFS - COLLINEARITY AND HETEROSCEDASTICITY DIAGNOSTICS*/ regress spend_r sex age south income pid ideo eqopp limgov lazy if black==0; vif; ivhettest sex age south income pid ideo eqopp limgov lazy if black==0, all; regress spend_r sex age south income pid ideo eqopp limgov lazy if black==0, hc3; regress spend_nr sex age south income pid ideo eqopp limgov lazy if black==0; vif; ivhettest sex age south income pid ideo eqopp limgov lazy if black==0, all; regress spend_nr sex age south income pid ideo eqopp limgov lazy if black==0, hc3; /*RUN ORDERED LOGIT MODELS OF BOTH SPENDING PREFS*/ ologit spend_r sex age south income pid ideo eqopp limgov lazy if black==0; ologit spend_nr sex age south income pid ideo eqopp limgov lazy if black==0; /*RUN ORDERED LOGIT MODELS OF BOTH SPENDING PREFS WITH NES PANEL/CROSS WEIGHT*/ ologit spend_r sex age south income pid ideo eqopp limgov lazy if black==0 [pw=v960003]; ologit spend_nr sex age south income pid ideo eqopp limgov lazy if black==0 [pw=v960003]; /*RUN ORDERED LOGIT MODELS OF BOTH SPENDING PREFS WITH ROBSUT STANDARD ERRORS*/ ologit spend_r sex age south income pid ideo eqopp limgov lazy if black==0, robust; ologit spend_nr sex age south income pid ideo eqopp limgov lazy if black==0, robust; /*SEEMINGLY UNRELATED REGRESSION TEST TO DETERMINE IF RESIUDALS CORRELATED AND TEST LAZY COEFFICIENT EQUAL ACROSS THE TWO SPENDING EQUATIONS*/ sureg (spend_r=sex age south income pid ideo eqopp limgov lazy) (spend_nr=sex age south income pid ideo eqopp limgov lazy) if black==0, corr; lincom [spend_r]lazy - [spend_nr]lazy; /*MULTIVARIATE REGRESSION TEST OF LAZY COEFFICIENT EQUAL ACROSS THE TWO SPENDING EQUATIONS*/ mvreg spend_r spend_nr = sex age south income pid ideo eqopp limgov lazy if black==0; lincom [spend_r]lazy - [spend_nr]lazy; /*ERRORS-IN-VARIABLES REGRESSION ESTIMATES*/ eivreg spend_r sex age south income pid ideo eqopp limgov lazy if black==0, r(age .95 income .9 pid .90 ideo .88 eqopp .68 limgov .75 lazy .70); eivreg spend_nr sex age south income pid ideo eqopp limgov lazy if black==0, r(age .95 income .9 pid .90 ideo .88 eqopp .68 limgov .75 lazy .70);