/* DO-FILE TO CODE 1992 VARIABLES AND RUN OLS REGRESSION ANALYSES AND DIAGNOSTICS*/ version 9.0 #delimit; /*GENEARATE BLACK FROM V924202*/ tab v924202; tab v924202, nolabel; generate black = v924202; 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 V924201*/ tab v924201; tab v924201, nolabel; generate sex = v924201; 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 V923903*/ tab v923903; generate age = v923903; tab age; /*GENEARATE SOUTH FROM V923014*/ tab v923014; tab v923014, nolabel; generate south = v923014; 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 V924104*/ tab v924104; tab v924104, nolabel; generate income = v924104; recode income 1/9=1 10/15=2 16/19=3 20/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 V923634: RECODE APOLITICAL, OTHER AS INDEPENDENT*/ tab v923634; tab v923634, nolabel; generate pid=v923634; 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 V923509, V923511, V923512: USE PROBES OF HAVEN'T THOUGHT MUCH, MODERATE, DON'T KNOWS IN V923509 TO HELP PRESERVE SAMPLE SIZE*/ tab1 v923509 v923511 v923512; tab1 v923509 v923511 v923512, nolabel; generate ideo=v923509; 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 v923511==1; replace ideo=4 if v923511==3; replace ideo=5 if v923511==5; replace ideo=3 if v923512==1; replace ideo=4 if v923512==3; replace ideo=5 if v923512==5; tab ideo; /*GENEARATE EQOPP FROM V926024 V926028 V926029*/ tab v926024; tab v926024, nolabel; generate eqopp1=v926024; 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 v926028; tab v926028, nolabel; generate eqopp2=v926028; 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 v926029; tab v926029, nolabel; generate eqopp3=v926029; 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 V925729 v925730 V925731*/ tab v925729; tab v925729, nolabel; generate limgov1=v925729; recode limgov1 1=3 2=1 3=2 8/9=. 0=.; label variable limgov1 "less govt better"; label define limgov1l 1 "1 more govt" 2 "2 both" 3 "3 less govt"; label value limgov1 limgov1l; tab limgov1; tab v925730; tab v925730, nolabel; generate limgov2=v925730; recode limgov2 1=1 2=3 3=2 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 v925731; tab v925731, nolabel; generate limgov3=v925731; recode limgov3 1=3 2=1 3=2 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" 7 "7 favor lim govt"; label value limgov limgovl; alpha limgov1 limgov2 limgov3; tab limgov; /*GENEARATE LAZY FROM V926222*/ tab v926222; tab v926222, nolabel; generate lazy=v926222; 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 V923725 V923726*/ tab v923725; tab v923725, nolabel; generate food=v923725; recode food 1=3 2=2 3/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 v923726; tab v923726, nolabel; generate wel=v923726; recode wel 1=3 2=2 3/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 V923730 V923811 V923813 V923816 V923817 V923819*/ tab v923730; tab v923730, nolabel; generate home=v923730; recode home 1=3 2=2 3/7=1 0=. 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 v923811; tab v923811, nolabel; generate soc=v923811; recode soc 1=3 2=2 3/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 v923813; tab v923813, nolabel; generate child=v923813; recode child 1=3 2=2 3/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 v923816; tab v923816, nolabel; generate unemp=v923816; recode unemp 1=3 2=2 3/7=1 0=. 8/9=.; label variable unemp "Govt Asst Unemployed Spending Preferences"; label define unempl 1 "1 decrease" 2 "2 keep same" 3 "3 increase"; label value unemp unempl; tab1 unemp; tab v923817; tab v923817, nolabel; generate poor=v923817; recode poor 1=3 2=2 3/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; tab v923819; tab v923819, nolabel; generate cities=v923819; recode cities 1=3 2=2 3/7=1 0=. 8/9=.; label variable cities "Aid Big Cities Spending Preferences"; label define citiesl 1 "1 decrease" 2 "2 keep same" 3 "3 increase"; label value cities citiesl; tab1 cities; generate spend_nr=(home+soc+child+unemp+poor+cities-6)/3; 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 unemp poor cities; 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=v923008]; regress spend_nr sex age south income pid ideo eqopp limgov lazy if black==0 [pw=v923008]; /*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=v923008]; ologit spend_nr sex age south income pid ideo eqopp limgov lazy if black==0 [pw=v923008]; /*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 .66 limgov .71 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 .66 limgov .71 lazy .70);