/* DO-FILE TO CODE 2000 VARIABLES AND RUN OLS REGRESSION ANALYSES AND DIAGNOSTICS*/ version 9.0 #delimit; /*GENEARATE BLACK FROM V001006a*/ tab v001006a; tab v001006a, nolabel; generate black = v001006a; recode black 20/90=0 10=1 98/99=. 0=.; label variable black "Black respondent"; label define blackl 0 "0 white" 1 "1 black"; label value black blackl; tab black; /*GENEARATE SEX FROM V001029*/ tab v001029; tab v001029, nolabel; generate sex = v001029; 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 V000908*/ tab v000908; generate age = v000908; recode age 0=. 97/99=.; tab age; /*GENEARATE SOUTH FROM V000092*/ tab v000092; tab v000092, nolabel; generate south = v000092; 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 V000994*/ tab v000994; tab v000994, nolabel; generate income = v000994; recode income 1/4=1 5/6=2 7/8=3 9/22=4 98/99=. 0=.; 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 V000523: RECODE APOLITICAL, OTHER AS INDEPENDENT*/ tab v000523; tab v000523, nolabel; generate pid=v000523; 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 V001368, V001369: USE PROBES OF HAVEN'T THOUGHT MUCH, MODERATE TO HELP PRESERVE SAMPLE SIZE*/ tab1 v001368 v001369; tab1 v001368 v001369, nolabel; generate ideo=v001368; 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 v001369==1; replace ideo=4 if v001369==5; replace ideo=5 if v001369==3; tab ideo; /*GENEARATE EQOPP FROM V001521 V001523 V001526*/ tab v001521; tab v001521, nolabel; generate eqopp1=v001521; 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 v001526; tab v001526, nolabel; generate eqopp2=v001526; 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 v001523; tab v001523, nolabel; generate eqopp3=v001523; 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 V001420 V001421 V001422*/ tab v001420; tab v001420, nolabel; generate limgov1=v001420; 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 v001421; tab v001421, nolabel; generate limgov2=v001421; recode limgov2 8/9=. 0=.; label variable limgov2 "free mkt"; label define limgov2l 1 "1 strong govt" 2 "2 both" 3 "3 free mkt"; label value limgov2 limgov2l; tab limgov2; tab v001422; tab v001422, nolabel; generate limgov3=v001422; 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 both" 3 "3 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 V001575*/ tab v001575; tab v001575, nolabel; generate lazy=v001575; 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 V000676 v000679*/ tab v000679; tab v000679, nolabel; generate food=v000679; recode food 1=3 3=1 5=2 7=1 0=. 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 v000676; tab v000676, nolabel; generate wel=v000676; recode wel 1=3 3=1 5=2 7=1 0=. 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; tab1 wel; alpha food 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; tab spend_r; /*GENERATE SPEND_NR FROM V000680 V000681 V000685*/ tab v000681; tab v000681, nolabel; generate soc=v000681; recode soc 1=3 3=1 5=2 7=1 0=. 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; tab1 soc; tab v000685; tab v000685, nolabel; generate child=v000685; recode child 1=3 3=1 5=2 7=1 0=. 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; tab1 child; tab v000680; tab v000680, nolabel; generate poor=v000680; recode poor 1=3 3=1 5=2 7=1 0=. 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=(soc+child+poor-3)/1.5; label variable spend_nr "Nonracialized Spending Scale"; label define spend_nrl 0 "0 decrease" 4 "0 increase"; label value spend_r spend_rl; alpha 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=v000002]; regress spend_nr sex age south income pid ideo eqopp limgov lazy if black==0 [pw=v000002]; /*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=000002]; ologit spend_nr sex age south income pid ideo eqopp limgov lazy if black==0 [pw=v000002]; /*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 .58 limgov .74 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 .58 limgov .74 lazy .70);