Skip to main content

Presenting Analyses to Policymakers

  • Chapter
  • First Online:
Higher Education Policy Analysis Using Quantitative Techniques
  • 503 Accesses

Abstract

This chapter discusses and demonstrates how we can present analysis for presentation to higher education policymakers. The chapter details how to present descriptive statistics in a user-friendly Microsoft Word document format. The chapter also shows how we can use choropleth maps to illustrate data spatially. The chapter also demonstrates how graphs and tables of regression results and marginal effects are created.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 59.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 79.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    For basic description and demonstration of maptile, go to this link—https://files.michaelstepner.com/maptile%20slides%202015-03%20_handout.pdf.

  2. 2.

    Mata is a programming language, For a complete description of mata, see Mata Reference Manual Release 16 https://www.stata.com/manuals/m.pdf.

  3. 3.

    For a complete description and examples of the options for coefplot, see Jann, B. (2019, May 28). coefplot—Plotting regression coefficients and other estimates in Stata. http://repec.sowi.unibe.ch/stata/coefplot/getting-started.html.

References

Download references

Author information

Authors and Affiliations

Authors

10.9 Appendix

10.9 Appendix

*Chapter 10 Syntax *Use the Stata user-written module asdoc (Shah, 2019) to create /// presentation-ready tables in Word net install asdoc, from(http://fintechprofessor.com) replace *change our working directory to where we want to save our tables cd "C:\Users\Marvin\Dropbox\Manuscripts\Book\Chapter 10\Tables" *open a dataset use "C:\Users\Marvin\Dropbox\Manuscripts\Book\Chapter 10\Stata\Data\Example 10.1.dta" *we invoke the sum to produce descriptive statistics sum y x1 x2 x3 x4 x5 *We can either create new variables that are rescaled original variables by /// hand or utilize the Stata user-written routine rescale automatically to /// rescale the new variables *install rescale net install rescale, from(http://digital.cgdev.org/doc/stata/MO/Misc) replace *rescale the y, x1, x3, x4,and x5 into millions, we use replace and the /// millions option rescale y, millions rescale x1, millions rescale x3, millions rescale x4, millions rescale x5, millions *rerun the sum command sum y x1 x2 x3 x4 x5 *use the Stata command tabstat tabstat y_pop x1fte x3_pop x4_pop x5_pop , statistics(mean median ) /// column(statistics) format(%9.0fc) *combine the use of asdoc and tabstat, use replace and /// and option abb(.) and options asdoc tabstat y_pop x1fte x3_pop x4_pop x5_pop, statistics(mean median ) /// column(statistics) format(%9.0fc) dec(0) long /// title(Table 10.1 Descriptive Statistics) save(Table 10.1.doc) /// replace label abb(.) replace *create a categorical variable representing Maryland (MD) and create a table gen MD=0 lab var MD "Comparisons" replace MD=1 if fips==24 label define MD1 1 Maryland 0 "All Other States" label values MD MD1 *create a categorical variable that reflects different time periods /// In this example, we create a variable decade and code and label it accordingly gen decade =0 *label variable lab var decade "Decades" replace decade =1 if fy>=1980 & fy<=1989 replace decade =2 if fy>=1990 & fy<=1999 replace decade =3 if fy>=2000 & fy<=2009 replace decade =4 if fy>=2010 & fy<=2018 *label values and connect with variable label define decade1 1 "1980 to 1989" 2 "1990 to 1999" 3 "2000 to 2009" /// 4 "2010 to 2018" label values decade decade1 *create a Word table comparing Maryland to the rest of the nation /// asdoc table decade MD, contents(mean y_pop) format(%9.0fc) dec(0) /// title(Table 10.2 Average State Appropriations per Population) /// save(Table 10.2.doc) replace label abb(.) replace *Choropleth Maps *change to the working to Map sub-directory cd "C:\Users\Marvin\Dropbox\Manuscripts\Book\Chapter 10\Maps" *install the Stata user-written map creation module, maptile (Stepner, 2017) maptile_install using "http://files.michaelstepner.com/geo_state.zip", replace *install the Stata user-written program smap (Pisati, 2018) ssc install spmap *install the Stata user-written program statastates (Schpero, 2018) ssc install statastates *run statastates to add U.S. state identifiers (abbreviation, FIPS code, /// and name) statastates, name(state) *create new variables (statefips and statename) gen statefips = state_fips gen statename = state gen x2_1000 = x2/1000 *Create a choropleth map showing the values of one variable in one year /// or change between two time periods, using the Stata-user written module /// maptile (Stepner, 2017) ssc install maptile, replace *create a map - Fig. 10.1 Map of Appropriations per Capita by State for /// Fiscal Year 2017 maptile y_pop if fy==2017, geo(state) geoid(statefips) nquantiles(5) /// rangecolor(gray*0.075 gray*1.0) legd(0) /// twopt(title("State Appropriations per Capita, 2017" "(in dollars)")) *change working directory cd "C:\Users\Marvin\Dropbox\Manuscripts\Book\Chapter 10\Stata\Data use "Data10 - State appropriations per FTE enrollment (1980 and 2017).dta", clear *create a map - Fig. 10.2 Percent Change in State Appropriations per /// FTE Enrollment" "Between FY 2009 & FY 2017 maptile pctchnge , geo(state) geoid(statefips) /// rangecolor(gray*0.01 gray*1.2) nq(7) legd(0) /// twopt(title("Percent Change in State Appropriations per FTE Enrollment" /// "Between FY 2009 & FY 2017" )) *install Stata user-written module lgraph (Mak, 2015) /// to show state appropriations per population for Maryland and the rest of /// the nation over time ssc install lgraph, replace *create Fig. 10.3. State Appropriations Per Population" "FY 1980-2018" lgraph y_pop fy, nom by(MD) xlabel(1980(3)2018) bw /// title("State Appropriations Per Population" "FY 1980-2018") /// ytitle(Dollars) legend(pos(12) col(2)) *create a graph with the appropriate labels and titles showing Maryland /// state appropriations per FTE compared to other states within the Southern /// Regional Education Board (SREB) *create variable MDSREB gen MDSREB =0 if region_compact==1 replace MDSREB = 1 if fips==24 label define MDSREB1 0 "All Other SREB States" 1 "Maryland" label values MDSREB MDSREB1 *create Fig. 10.4. State Appropriations per Capita in Maryland and All /// Other SREB States, FY 1980 to FY 2018 lgraph yfte fy if region_compact==1 , nom by(MDSREB) xlabel(1980(2)2018, /// labsize(vsmall)) bw title("State Appropriations Per FTE" "FY 1980-2018") /// ytitle(Dollars) legend(pos(12) col(2)) *create a graph that depicts when Colorado enacted Senate Bill 189 /// (SB 04-189) to establish the College Opportunity Fund (COF) program to see /// trends in Colorado’s net tuition revenue before and after the enactment of /// SB 04-189, compared to net tuition revenue in all other states during the /// same time period. *open datasetfro Chapter 7 cd "C:\Users\Marvin\Dropbox\Manuscripts\Book\Chapter 7\Stata files" use "Example 7.1.dta", clear *create variable netuit_fte gen netuit_fte = x1/x2 *We create the treatment variable (T). gen T=0 replace T=1 if state=="CO" *create Fig. 10.5. Colorado Net Tuition Revenue per FTE Before and /// After SB 189 and All Other States global y "netuit_fte" lgraph $y fy & fy>1999, by(T) stat(mean) xline(2005) xlabel(2000(2)2016, /// labsize(small)) ylab(, nogrid) scheme(s2mono) bw /// title("Colorado's Net Tuition Revenue Per FTE" /// "Before and After Colorado Senate Bill 189") ytitle(Dollars) /// legend(pos(12) col(2)) *create Fig. 10.6. Colorado Net Tuition Revenue per FTE Before and /// After SB 189 and All Other WICHE States gen COWICHE =0 if region_compact==2 replace COWICHE = 1 if fips==8 label define COWICHE1 0 "All Other WICHE States" 1 "Colorado" label values COWICHE COWICHE1 global y "netuit_fte" lgraph $y fy if region_compact==2 & fy>1999, nom by(COWICHE) /// stat(mean) xline(2005) /// xlabel(2000(2)2016, labsize(small)) ylab(, nogrid) scheme(s2mono) bw /// title("Colorado's Net Tuition Revenue Per FTE" /// "Before and After Colorado Senate Bill 189") ytitle(Dollars) /// legend(pos(12) col(2)) *Graphs of Regression Results * install the Stata user-written module, coefplot (Jann, 2019a) /// ssc install coefplot, replace *The first example is based on a pooled OLS regression model. reg D1.lnnetut L1.D1.lnstateap L1.D1.lnfte L1.D1.lnperinc *we use Stata’s mata syntax to extract the estimated coefficients from the /// matrix produced by the regression models mata: st_matrix("e(box)", (st_matrix("e(b)") :- 2 \st_matrix("e(b)") :+ 2)) *After slightly modifying the coefplot syntax provided by Jann, we create /// a graph of the coefficients from the OLS regression results above. *Fig. 10.7. Pct. Change in Appropriations, FTE and Personal Income due /// a Pct Change in Net Tuition Revenue coefplot, xline(0) drop(_cons) mlabel format(%9.2g) mlabposition(0) /// msymbol(i) ciopts(recast(. rbar) barwidt(. 0.35) fcolor(. white) /// lwidth(. medium)) rescale(10) levels(95 99) /// coeflabels(LD.lnstateap = "State Appropriations" /// LD.lnfte = "FTE Enrollment" LD.lnperinc = "State Personal Income") /// ytitle(10 Percent Change in . . .) xtitle(Change in Net Tuition Revenue) *We use the Stata user-written routine xtmg (Eberhardt, 2013) that allows /// us to relax the OLS assumptions of homogeneous coefficients and /// cross-sectional independence when using panel data * install the most recent version of xtmg in Stata /// ssc install xtmg, replace *create differenced and lagged differenced variables gen Dlnnetut = D1.lnnetut gen LDlnstateap = LD1.lnstateap gen LDlnfte = LD1.lnfte gen LDlnperinc = LD1.lnperinc *we use the CCE estimator, which takes into account /// cross-sectional dependence. The MG estimator produces /// state-specific model beta coefficients, which are averaged across the panel xtmg Dlnnetut LDlnstateap LDlnfte LDlnperinc, cce *We repeat the Stata syntax to extract the estimated coefficients from /// the matrix produced by the regression model with the CCEMG estimator mata: st_matrix("e(box)", (st_matrix("e(b)") :- 2 \st_matrix("e(b)") :+ 2)) *we modify the coefplot syntax to include the variables of interest from /// the regression model with the CCEMG estimator. We also change the /// orientation from horizontal to vertical, add titles, and bold the text // we want to bring attention to it in the graph. *create Fig. 10.8. Pct. Change in Appropriations, FTE and Personal Income due /// a Pct Change in Net Tuition Revenue (controlling for other factors) coefplot, xline(0) keep(LDlnstateap LDlnfte LDlnperinc) /// mlabel format(%9.2g) mlabposition(0) msymbol(i) /// ciopts(recast(. rbar) barwidt(. 0.35) fcolor(. white) /// lwidth(. medium)) rescale(10) levels(95 99) /// coeflabels(LDlnstateap /// = "{bf:State Appropriations}" /// LDlnfte = "FTE Enrollment" /// LDlnperinc = "State Personal Income", /// labsize(medium)) /// vertical title("Short-Run Change in {bf:Net Tuition Revenue} Due to a 10% Change in" /// "{bf:State Appropriations} (controlling for other factors)", /// size(medium) margin(small) justification(center)) *create a graph from a HCR model with DCCE and MG estimators and /// a first-order autoregressive distributed lag (ARDL), of each of the variables. qui xtdcce2 Dlnnetut L1.Dlnnetut LDlnstateap LDlnfte LDlnperinc, /// reportc cr(_all) cr_lags(3 3 3 3) lr(L1.Dlnnetut LDlnstateap LDlnfte /// LDlnperinc) lr_options(ardl) *create Fig. 10.9. Pct. Change in Appropriations, FTE and Personal Income due /// a Pct Change in Net Tuition Revenue (controlling for other factors) coefplot, xline(0) keep(LDlnstateap LDlnfte LDlnperinc) /// mlabel format(%9.2g) mlabposition(0) msymbol(i) /// ciopts(recast(. rbar) barwidt(. 0.35) fcolor(. white) /// lwidth(. medium)) rescale(10) levels(95 99) /// coeflabels(LDlnstateap /// = "{bf:State Appropriations}" /// LDlnfte = "FTE Enrollment" /// LDlnperinc = "State Personal Income", /// labsize(medium)) /// vertical title("Short-Run Change in {bf:Net Tuition Revenue} Due to a 10% Change in" /// "{bf:State Appropriations} (controlling for other factors)", /// size(medium) margin(small) justification(center)) *Marginal Effects (with Continuous Variables) and Graphs cd "C:\Users\Marvin\Dropbox\Manuscripts\Book\Chapter 10\Stata\Data" use "Example 10.dta", clear *We use global marco names to save on key strokes. global y "adminstaff" global x1 "net_tuition_rev_adj" global x2 "state_appro_adj" global x3 "fedrev_r" global x4 "FTE_enroll" *we use a pooled OLS regression model with Driscoll-Kraay (D-K) errors. /// and lagged independent variables by one year. xtscc $y L1.$x1 L1.$x2 L1.$x3 L1.$x4 *margins to calculate the average marginal effects (AME) margins, dydx(L1.$x1 L1.$x2 L1.$x3 L1.$x4) *calculate the elasticities of each of the variables at their average // or mean levels *calculate elasticities for variables at the median rather than the mean // to see if the results are substantially different margins, eyex(L1.$x1 L1.$x2 L1.$x3 L1.$x4) at((median ) _all) *Marginal Effects (Elasticities) and Graphs margins, eyex(L1.$x1 L1.$x2 L1.$x3 L1.$x4) at((median ) _all) post mata: st_matrix("e(box)", (st_matrix("e(b)") :- 1 \st_matrix("e(b)") :+ 1)) *create Fig. 10.10. Pct. Change in Administrators Due to a Pct. /// Change in Net Tuition Revenue (controlling for other factors) coefplot, xline(0) keep(L.net_tuition_rev_adj L.state_appro_adj /// L.fedrev_r L.FTE_enroll) mlabel format(%9.2g) mlabposition(0) msymbol(i) /// ciopts(recast(. rbar) barwidt(. 0.35) fcolor(. white) lwidth(. medium)) /// levels(95 99) coeflabels(L.net_tuition_rev_adj = "{bf:Net Tuition Revenue}" /// L.state_appro_adj = "State Appropriations" L.fedrev_r = "Federal Revenue" /// L.FTE_enroll = "FTE Enrollment") /// title("Percent Change in {bf:Administrators} Due to a 1% Change in" /// "{bf:Net Tuition Revenue} (controlling for other factors)", size(medium) /// margin(small) justification(center)) *show the percent change (a rescaled to 10) on the vertical axis; show the /// independent variables on the horizontal axis and; create custom legends /// with regard to the significance of the independent variables *create Fig. 10.11 coefplot (., keep(L.net_tuition_rev_adj) color(black)) /// (., keep(L.state_appro_adj) color(gray)) (., keep(L.fedrev_r) color(gray)) /// (., keep (L.FTE_enroll) color(gray)), legend(on) xline(0) /// nooffsets pstyle(p1) recast(bar) barwidth(0.4) fcolor(*.8) /// coeflabels(L.net_tuition_rev_adj = "{bf:Net Tuition Revenue}" /// L.state_appro_adj = "State Appropriations" L.fedrev_r = "Federal Revenue" /// L.FTE_enroll = "FTE Enrollment" , labsize(small)) /// title("Percent Change in {bf:Administrators} Due to a 10% Change in" /// "{bf:Net Tuition Revenue} (controlling for other factors)", size(medium) /// margin(small) justification(center)) addplot(scatter @b @at, ms(i) /// mlabel(@b) mlabpos(1) mlabcolor(black)) vertical noci format(%9.1f) /// rescale(10) p2(nokey) p3(nokey) p1(label("Different from Zero")) /// p4(label("Ignore - not different zero")) ytitle(Percent) /// xtitle("At the Median", size(small)) *a graph can also be created to show the change in administrators // with respect to the change at the 25th percentile of net tuition revenue /// (and other variables) xtscc $y L1.$x1 L1.$x2 L1.$x3 L1.$x4 margins, eyex(L1.$x1 L1.$x2 L1.$x3 L1.$x4) at((p25) _all) post mata: st_matrix("e(box)", (st_matrix("e(b)") :- 1 \st_matrix("e(b)") :+ 1)) *create Fig. 10.12 coefplot (., keep(L.net_tuition_rev_adj) color(black)) /// (., keep(L.state_appro_adj) color(gray)) (., keep(L.fedrev_r) color(gray)) /// (., keep (L.FTE_enroll) color(gray)), legend(on) xline(0) /// nooffsets pstyle(p1) recast(bar) barwidth(0.4) fcolor(*.8) /// coeflabels(L.net_tuition_rev_adj = "{bf:Net Tuition Revenue}" /// L.state_appro_adj = "State Appropriations" L.fedrev_r = "Federal Revenue" /// L.FTE_enroll = "FTE Enrollment" , labsize(small)) /// title("Percent Change in {bf:Administrators} Due to a 10% Change in" /// "{bf:Net Tuition Revenue} (controlling for other factors)", size(medium) /// margin(small) justification(center)) addplot(scatter @b @at, ms(i) /// mlabel(@b) mlabpos(1) mlabcolor(black)) vertical noci format(%9.1f) /// rescale(10) p2(nokey) p3(nokey) p1(label("Different from Zero")) /// p4(label("Ignore - not different zero")) ytitle(Percent) /// xtitle("At the 25th Percentile", size(small)) *a graph can also be created to show the change in administrators // with respect to the change at the 75th percentile of net tuition revenue /// (and other variables) xtscc $y L1.$x1 L1.$x2 L1.$x3 L1.$x4 margins, eyex(L1.$x1 L1.$x2 L1.$x3 L1.$x4) at((p75) _all) post mata: st_matrix("e(box)", (st_matrix("e(b)") :- 1 \st_matrix("e(b)") :+ 1)) *create Fig. 10.13 coefplot (., keep(L.net_tuition_rev_adj) color(black)) /// (., keep(L.state_appro_adj) color(gray)) (., keep(L.fedrev_r) color(gray)) /// (., keep (L.FTE_enroll) color(gray)), legend(on) xline(0) /// nooffsets pstyle(p1) recast(bar) barwidth(0.4) fcolor(*.8) /// coeflabels(L.net_tuition_rev_adj = "{bf:Net Tuition Revenue}" /// L.state_appro_adj = "State Appropriations" L.fedrev_r = "Federal Revenue" /// L.FTE_enroll = "FTE Enrollment" , labsize(small)) /// title("Percent Change in {bf:Administrators} Due to a 10% Change in" /// "{bf:Net Tuition Revenue} (controlling for other factors)", size(medium) /// margin(small) justification(center)) addplot(scatter @b @at, ms(i) /// mlabel(@b) mlabpos(1) mlabcolor(black)) vertical noci format(%9.1f) /// rescale(10) p2(nokey) p3(nokey) p1(label("Different from Zero")) /// p4(label("Ignore - not different zero")) ytitle(Percent) /// xtitle("At the 75th Percentile", size(small)) *Marginal Effects and Word Tables *install the Stata-user written routine esttab which is part of the /// routine estout (Jann, 2019b) net install st0085_2.pkg, replace *change the working directory to where we would like to place a Word table cd "C:\Users\Marvin\Dropbox\Manuscripts\Book\Chapter 10\Tables" *elasticities at the 25th percentile qui xtscc $y L1.$x1 L1.$x2 L1.$x3 L1.$x4 qui margins, eyex(*) at((p25 ) _all) cont post eststo marginalp25 *elasticities at the median qui xtscc $y L1.$x1 L1.$x2 L1.$x3 L1.$x4 qui margins, eyex(*) at((p50 ) _all) cont post eststo marginalmed *elasticities at the 75th percentile qui xtscc $y L1.$x1 L1.$x2 L1.$x3 L1.$x4 qui margins, eyex(*) at((p75 ) _all) cont post eststo marginalp75 *create Word file esttab marginalp25 marginalmed marginalp75 using Table_Appendix, label /// se(3) title("Percent Change in Administrators" "Due to a One Percent Change" /// "in Net Tuition Revenue, Controlling for Other Factors" /// "(State Appropriations, Federal Revenue, and FTE Enrollment)") /// mtitle("25th Percentile" "Median" "75th Percentile") /// nonumbers rtf replace *Marginal Effects (with Categorical Variables) and Graphs cd "C:\Users\Marvin\Dropbox\Manuscripts\Book\Chapter 10\Stata\Data" use "Example 10.dta", clear *Shorthand notation and global macros are used to save keystrokes. global y "adminstaff" global x "L1.net_tuition_rev_adj L1.state_appro_adj L1.fedrev_r L1.FTE_enroll" qui xtscc y $x if CGB==0 qui margins, eyex(*) post mata: st_matrix("e(box)", (st_matrix("e(b)") :- 1 \st_matrix("e(b)") :+ 1)) eststo NoCGB qui xtscc y $x if CGB==1 qui margins, eyex(*) post mata: st_matrix("e(box)", (st_matrix("e(b)") :- 1 \st_matrix("e(b)") :+ 1)) eststo CGB *Fig. 10.14. Pct. Change in Administrators Due to 10% Change in Net /// Tuition Revenue (and other factors) by Consolidated Governing Board (CGB) coefplot NoCGB CGB, xline(0) format(%9.0f) rescale(10) recast(bar) /// barwidth(0.3) fcolor(*.5) /// coeflabels(L.net_tuition_rev_adj = "{bf:Net Tuition Revenue}" /// L.state_appro_adj = "State Appropriations" /// L.fedrev_r = "Federal Revenues" /// L.FTE_enroll = "FTE Enrollment", labsize(small)) /// vertical p1(label("No CGB") color(gray)) /// p4(label("CGB") color(black)) ytitle(Percent) ylabel(-4(2)10) /// title("Percent Change in {bf:Administrators} Due to a 10% Change in" /// "{bf:Net Tuition Revenue} (controlling for other factors)", /// size(medium) margin(small) justification(center)) *end

Rights and permissions

Reprints and permissions

Copyright information

© 2021 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Titus, M. (2021). Presenting Analyses to Policymakers. In: Higher Education Policy Analysis Using Quantitative Techniques . Quantitative Methods in the Humanities and Social Sciences. Springer, Cham. https://doi.org/10.1007/978-3-030-60831-6_10

Download citation

Publish with us

Policies and ethics