/*Following is the code used for the analysis in "Campaign Effects and the Dyanmics of Turnout Intention in Election 2000"*/ /*Contact Sunshine Hillygus at sunshine_hillygus@harvard.edu with any questions or comments*/ use jopturnout.dta #delimit ; logit vote559 vote1 age female black hispanic partisan interest contact ads persany2 xv1age xv1fml xv1blk xv1hsp xv1part xv1intst xv1con xv1ads2 xv1pers2 [iweight=weightn]; predict prob; matrix V = e(V); #delimit cr /* Calculate standard errors*/ #delimit cr lincom vote1 + _cons /* lag variable */ lincom age + xv1age /* age */ /*lincom agesqr + xv1age2 age-square */ lincom female + xv1fml /* female */ lincom black + xv1blk /* black */ lincom hispanic + xv1hsp /* hispanic */ lincom partisan + xv1part /* strength of partisanship */ /* lincom attn2 + xv1atn2 attention to campaign */ lincom interest + xv1intst /* interest in politics */ lincom contact + xv1con /* contacted to participate */ lincom ads + xv1ads2 /* saw any ads */ lincom persany2 + xv1pers2 /* someone talked to */ /****************** Calculated Probabilities ************/ /* age mean= 45 */ /* partisan mean= .50 */ /* ads mean= .67*/ /* intrst mean= .57*/ /*contact mean=.215*/ /*persany2 mean =.282*/ /* Test 1: ALL ACTIVITIES, vote1 = 0 */ #delimit ; scalar zhat1 = _b[_cons] + _b[age]*45 + _b[hispanic]*0 + _b[black]*0 + _b[female]*0 + _b[partisan]*.50 + _b[interest]*.57 + _b[contact]*0 + _b[persany2]*0 + _b[ads]*0; display zhat1; scalar zhat2 = _b[_cons] + _b[age]*45 + _b[hispanic]*0 + _b[black]*0 + _b[female]*0 + _b[partisan]*.50 + _b[interest]*.57 + _b[contact]*1 + _b[persany2]*1 + _b[ads]*1; display zhat2; scalar phat1 = exp(zhat1)/(1+exp(zhat1)); scalar phat2 = exp(zhat2)/(1+exp(zhat2)); scalar phatdiff = phat2*(1-phat2) - phat1*(1-phat1); /*C matrix in the delta method*/ display phat1; display phat2; display phatdiff; display phat2-phat1; matrix C = (0,0,0,0,0,0,0,phatdiff,phatdiff,phatdiff,0,0,0,0,0,0,0,0,0,0); matrix varcov = C*V*C'; matrix phatse = sqrt(det(varcov)); matrix list phatse; matrix zstat = (phat2-phat1)*syminv(phatse); matrix list zstat; /* Test 2: ALL ACTIVITIES (min-max), vote1 = 1 */ #delimit ; scalar zhat1 = _b[_cons] + _b[age]*45 + _b[hispanic]*0 + _b[black]*0 + _b[female]*0 + _b[partisan]*.50 + _b[interest]*.57 + _b[contact]*0 + _b[persany2]*0 + _b[ads]*0 + _b[vote1] + _b[xv1age]*45 + _b[xv1hsp]*0 + _b[xv1blk]*0 + _b[xv1fml]*0 + _b[xv1part]*.50 + _b[xv1intst]*.57 + _b[xv1con]*0 + _b[xv1pers2]*0 + _b[xv1ads2]*0; display zhat1; scalar zhat2 = _b[_cons] + _b[age]*45 + _b[hispanic]*0 + _b[black]*0 + _b[female]*0 + _b[partisan]*.50 + _b[interest]*.57 + _b[contact]*1 + _b[persany2]*1 + _b[ads]*1 + _b[vote1] + _b[xv1age]*45 + _b[xv1hsp]*0 + _b[xv1blk]*0 + _b[xv1fml]*0 + _b[xv1part]*.50 + _b[xv1intst]*.57 + _b[xv1con]*1 + _b[xv1pers2]*1 + _b[xv1ads2]*1; display zhat2; scalar phat1 = exp(zhat1)/(1+exp(zhat1)); scalar phat2 = exp(zhat2)/(1+exp(zhat2)); scalar phatdiff = phat2*(1-phat2) - phat1*(1-phat1); /*C matrix in the delta method*/ display phat1; display phat2; display phatdiff; display phat2-phat1; matrix C = (0,0,0,0,0,0,0,phatdiff,phatdiff,phatdiff,0,0,0,0,0,0,0,phatdiff,phatdiff,phatdiff); matrix varcov = C*V*C'; matrix phatse = sqrt(det(varcov)); matrix list phatse; matrix zstat = (phat2-phat1)*syminv(phatse); matrix list zstat; /* Test 3: see ads (min to max, vote1=0) */ #delimit ; scalar zhat1 = _b[_cons] + _b[age]*45 + _b[hispanic]*0 + _b[black]*0 + _b[female]*0 + _b[partisan]*.50 + _b[interest]*.57 + _b[contact]*.22 + _b[persany2]*.28 + _b[ads]*0; display zhat1; scalar zhat2 = _b[_cons] + _b[age]*45 + _b[hispanic]*0 + _b[black]*0 + _b[female]*0 + _b[partisan]*.50 + _b[interest]*.57 + _b[contact]*.22 + _b[persany2]*.28 + _b[ads]*1; display zhat2; scalar phat1 = exp(zhat1)/(1+exp(zhat1)); scalar phat2 = exp(zhat2)/(1+exp(zhat2)); scalar phatdiff = phat2*(1-phat2) - phat1*(1-phat1); /*C matrix in the delta method*/ display phat1; display phat2; display phatdiff; display phat2-phat1; matrix C = (0,0,0,0,0,0,0,0,0,phatdiff,0,0,0,0,0,0,0,0,0,0); matrix varcov = C*V*C'; matrix phatse = sqrt(det(varcov)); matrix list phatse; matrix zstat = (phat2-phat1)*syminv(phatse); matrix list zstat; /* Test 4: Personal Persuasion (min to max, vote1=0) */ #delimit ; scalar zhat1 = _b[_cons] + _b[age]*45 + _b[hispanic]*0 + _b[black]*0 + _b[female]*0 + _b[partisan]*.50 + _b[interest]*.57 + _b[contact]*.22 + _b[persany2]*0 + _b[ads]*.67; display zhat1; scalar zhat2 = _b[_cons] + _b[age]*45 + _b[hispanic]*0 + _b[black]*0 + _b[female]*0 + _b[partisan]*.50 + _b[interest]*.57 + _b[contact]*.22 + _b[persany2]*1 + _b[ads]*.67; display zhat2; scalar phat1 = exp(zhat1)/(1+exp(zhat1)); scalar phat2 = exp(zhat2)/(1+exp(zhat2)); scalar phatdiff = phat2*(1-phat2) - phat1*(1-phat1); /*C matrix in the delta method*/ display phat1; display phat2; display phatdiff; display phat2-phat1; matrix C = (0,0,0,0,0,0,0,0,phatdiff,0,0,0,0,0,0,0,0,0,0,0); matrix varcov = C*V*C'; matrix phatse = sqrt(det(varcov)); matrix list phatse; matrix zstat = (phat2-phat1)*syminv(phatse); matrix list zstat; /* Test 5: Party Contact (min-max), vote1 = 1 */ #delimit ; scalar zhat1 = _b[_cons] + _b[age]*45 + _b[hispanic]*0 + _b[black]*0 + _b[female]*0 + _b[partisan]*.50 + _b[interest]*.57 + _b[contact]*0 + _b[persany2]*.28 + _b[ads]*.67 + _b[vote1] + _b[xv1age]*45 + _b[xv1hsp]*0 + _b[xv1blk]*0 + _b[xv1fml]*0 + _b[xv1part]*.50 + _b[xv1intst]*.57 + _b[xv1con]*0 + _b[xv1pers2]*.28 + _b[xv1ads2]*.67; display zhat1; scalar zhat2 = _b[_cons] + _b[age]*45 + _b[hispanic]*0 + _b[black]*0 + _b[female]*0 + _b[partisan]*.50 + _b[interest]*.57 + _b[contact]*1 + _b[persany2]*.28 + _b[ads]*.67 + _b[vote1] + _b[xv1age]*45 + _b[xv1hsp]*0 + _b[xv1blk]*0 + _b[xv1fml]*0 + _b[xv1part]*.50 + _b[xv1intst]*.57 + _b[xv1con]*1 + _b[xv1pers2]*.28 + _b[xv1ads2]*.67; display zhat2; scalar phat1 = exp(zhat1)/(1+exp(zhat1)); scalar phat2 = exp(zhat2)/(1+exp(zhat2)); scalar phatdiff = phat2*(1-phat2) - phat1*(1-phat1); /*C matrix in the delta method*/ display phat1; display phat2; display phatdiff; display phat2-phat1; matrix C = (0,0,0,0,0,0,0,phatdiff,0,0,0,0,0,0,0,0,0,phatdiff,0,0); matrix varcov = C*V*C'; matrix phatse = sqrt(det(varcov)); matrix list phatse; matrix zstat = (phat2-phat1)*syminv(phatse); matrix list zstat; /******************** Predicted Values ******************/ #delimit cr gen yhatT = . replace yhatT = 1 if prob > 0.5 & prob <= 1 replace yhatT = 0 if prob <= 0.5 tabulate vote559 yhatT, row