- I have a program that I want to loop
- I want the loop to pick up a new set of control variables each time
- I have produced the sets into a sequence of global variables named as controls_revenues1, controls_revenues2, etc. I have up to 45 sets.
- I want the loop to use a new global of the control variables each time.
- There are three regression operations in the loop. what ever new set of global controls is used in the first operation should be the same set in the other two regressions.
- The loop program includes a final plot exported as pdf.
- I want each exported pdf to be named in the same sequence as the global control variables. Or to be named after the new global control set used. For example, from my commands below (or in the do-file attached), the last but one line is a naming line. The current name is C1. I want the name to sequentially change to something like C1G1, C1G2, C1G3, etc for each new operation. The G represents “Global” mimicking the new global set of controls used. The name could also just be “controls_revenues1”, “controls_revenues2”, etc. that is, being named directly after the global controls set used in the regression.
- The final line is the export line. I want the pdf to be named in the same manner as I described above: sequentially as the global set of control variables or after the set itself.
* Taxes on Goods
reg tax_share1_goods $loans_total $grants_total ///
ps_loans ps_grants i.A_country_id i.A_year ///
$controls_revenues
est store C1a
estadd local FE "Yes", replace
* Taxes on Income
reg tax_share1_income $loans_total $grants_total ///
ps_loans ps_grants i.A_country_id i.A_year ///
$controls_revenues
est store C1b
estadd local FE "Yes", replace
* Taxes on Trade
reg tax_share1_trade $loans_total $grants_total ///
ps_loans ps_grants i.A_country_id i.A_year ///
$controls_revenues
est store C1c
estadd local FE "Yes", replace
* combine
suest C1a C1b C1c
est store C1
estadd local FE "Yes", replace
* grab scalars
estimates restore C1
margins, dydx($loans_total $grants_total) predict(equation(C1a_mean)) post
scalar C1a_loans_b = el(r(table),1,1)
scalar C1a_loans_l95 = el(r(table),5,1)
scalar C1a_loans_u95 = el(r(table),6,1)
scalar C1a_grants_b = el(r(table),1,2)
scalar C1a_grants_l95 = el(r(table),5,2)
scalar C1a_grants_u95 = el(r(table),6,2)
estimates restore C1
margins, dydx($loans_total $grants_total) predict(equation(C1b_mean)) post
scalar C1b_loans_b = el(r(table),1,1)
scalar C1b_loans_l95 = el(r(table),5,1)
scalar C1b_loans_u95 = el(r(table),6,1)
scalar C1b_grants_b = el(r(table),1,2)
scalar C1b_grants_l95 = el(r(table),5,2)
scalar C1b_grants_u95 = el(r(table),6,2)
estimates restore C1
margins, dydx($loans_total $grants_total) predict(equation(C1c_mean)) post
scalar C1c_loans_b = el(r(table),1,1)
scalar C1c_loans_l95 = el(r(table),5,1)
scalar C1c_loans_u95 = el(r(table),6,1)
scalar C1c_grants_b = el(r(table),1,2)
scalar C1c_grants_l95 = el(r(table),5,2)
scalar C1c_grants_u95 = el(r(table),6,2)
* populate matrices
capture noisily matrix C1 = ///
(C1a_loans_b, C1a_loans_l95, C1a_loans_u95 \ ///
C1a_grants_b, C1a_grants_l95, C1a_grants_u95 \ ///
C1b_loans_b, C1b_loans_l95, C1b_loans_u95 \ ///
C1b_grants_b, C1b_grants_l95, C1b_grants_u95 \ ///
C1c_loans_b, C1c_loans_l95, C1c_loans_u95 \ ///
C1c_grants_b, C1c_grants_l95, C1c_grants_u95 )
capture noisily matrix colnames C1 = coef ll95 ul95
capture noisily matrix rownames C1 = ///
C1a_loans C1a_grants ///
C1b_loans C1b_grants ///
C1c_loans C1c_grants
capture noisily matrix list C1
* draw plot
coefplot (matrix(C1[,1]), ci((C1[,2] C1[,3]))) ///
||, xline(0) xtitle(" ") scheme(s1mono) ///
mlabel format(%12.2f) mlabposition(12) mlabgap(*2) ///
order( ///
C1a_loans C1a_grants ///
C1b_loans C1b_grants ///
C1c_loans C1c_grants ) ///
groups( ///
C1a* = "{bf:Goods Taxes}" ///
C1b* = "{bf:Income Taxes}" ///
C1c* = "{bf:Trade Taxes}" ) ///
coeflabels( ///
C1*_loans = "Loans" ///
C1*_grants = "Grants" ) ///
name(C1, replace)
capture noisily graph export pics/C1.pdf, replace
**Here is a sample data, if needed***
Code:
* Example generated by -dataex-. To install: ssc install dataex clear input float(tax_share1_goods tax_share1_income tax_share1_trade) str44 A_country int A_year float(loans_dac2 loans_total2 loans_bric2 grants_total2 grants_bric2 grants_dac2 ps_grants_bric ps_grants_dac) byte(DE02 DE03 DE04) double(DF01 DH01 DH07 DH02) . . . "Afghanistan" 1960 0 0 0 .02668388 0 .02668388 .4010103 3.424759 . . . 11.157026581176 . . . . . . "Afghanistan" 1961 0 0 0 .05962955 0 .05962955 .4010109 2.8663516 . . . 12.5506095641626 . . . . . . "Afghanistan" 1962 0 0 0 .029414633 0 .029414633 .4010024 .8077518 . . . 14.2276444262674 . . . . . . "Afghanistan" 1963 0 0 0 .04589201 0 .04589201 .4011277 .5407533 . . . 26.0355114281704 . . . . . . "Afghanistan" 1964 0 0 0 .0498625 0 .0498625 .3755781 .28042537 . . . 26.9444479475307 . . . . . . "Afghanistan" 1965 0 0 0 .03665563 0 .03665563 .3756916 .4114535 . . . 32.6710826152849 . . . . . . "Afghanistan" 1966 0 0 0 .023157144 0 .023157144 .3759095 .012632657 . . . 27.1428573129252 . . . . . . "Afghanistan" 1967 0 0 0 .012537848 0 .012537848 .376049 .012655273 . . . 20.9827354616946 . . . . . . "Afghanistan" 1968 0 0 0 .01382767 0 .01382767 .37585965 .22199954 . . . 24.110033071763 . . . . . . "Afghanistan" 1969 0 0 0 .013805204 0 .013805204 .3758614 .11459441 . . . 25.0788642331499 . . . . . . "Afghanistan" 1970 0 0 0 .011493026 0 .011493026 .37602445 .13620362 . . . 21.7281100678648 . . . . . . "Afghanistan" 1971 .00494236 .00494236 0 .01245147 0 .01245147 .3760434 .4770713 . . . 27.0631374536424 . . . . . . "Afghanistan" 1972 .014061562 .014061562 0 .02204875 0 .02204875 .375899 .17257096 . . . 32.8690810352185 . . . . . . "Afghanistan" 1973 .0010176924 .0010176924 0 .01478077 0 .01478077 .3759466 .05934766 . . . 27.6923087928995 . . . . . . "Afghanistan" 1974 .0034793816 .0034793816 0 .006777836 0 .006777836 .3761302 .05900866 . . . 28.8659801551706 . . . . . . "Afghanistan" 1975 .004176761 .004176761 0 .008298592 0 .008298592 .3762079 .015066444 . . . 26.9483576711852 . . . . . . "Afghanistan" 1976 .0009547826 .0009547826 0 .00736826 0 .00736826 .3762739 .009098912 . . . 28.0869566604915 . . . . . . "Afghanistan" 1977 .0017275395 .0017275395 0 .009436795 0 .009436795 .3764348 .00654967 . . . 26.4860798295929 . . . . . . "Afghanistan" 1978 0 0 0 .009633333 0 .009633333 .3205956 7.313993e-07 . . . 24.7138040330125 . . . . . . "Afghanistan" 1979 0 0 0 .011546968 0 .011546968 . . . . . . . . . . . . "Afghanistan" 1980 0 0 0 .00507452 0 .00507452 . . . . . . . . . . . . "Afghanistan" 1981 0 0 0 .000825 0 .000825 . . . . . . . . . . . . "Afghanistan" 1982 . . . . . . . . . . . . . . . . . . "Afghanistan" 1983 . . . . . . . . . . . . . . . . . . "Afghanistan" 1984 . . . . . . . . . . . . . . . . . . "Afghanistan" 1985 . . . . . . . . . . . . . . . . . . "Afghanistan" 1986 . . . . . . . . . . . . . . . . . . "Afghanistan" 1987 . . . . . . . . . . . . . . . . . . "Afghanistan" 1988 . . . . . . . . . . . . . . . . . . "Afghanistan" 1989 . . . . . . . . . . . . . . . . . . "Afghanistan" 1990 . . . . . . . . . . . . . . . . . . "Afghanistan" 1991 . . . . . . . . . . . . . . . . . . "Afghanistan" 1992 . . . . . . . . . . . . . . . . . . "Afghanistan" 1993 . . . . . . . . . . . . . . . . . . "Afghanistan" 1994 . . . . . . . . . . . . . . . . . . "Afghanistan" 1995 . . . . . . . . . . . . . . . . . . "Afghanistan" 1996 . . . . . . . . . . . . . . . . . . "Afghanistan" 1997 . . . . . . . . . . . . . . . . . . "Afghanistan" 1998 . . . . . . . . . . . . . . . . . . "Afghanistan" 1999 . . . . . . . . . . . . . . . . . . "Afghanistan" 2000 . . . . . . . . . . . . . . . . . . "Afghanistan" 2001 0 0 0 .13583824 .0043825465 .13145569 . . . . . . . . . . . . "Afghanistan" 2002 0 0 0 .3329121 .08414856 .2487635 . . . . . 97.6744227499797 38.4719400285995 37.8139628210295 1566425887.66946 . . . "Afghanistan" 2003 0 0 0 .27558976 .007855195 .26773456 . . . . . 137.901039454029 37.7654435078259 39.3133489680897 1689671422.4225 . . . "Afghanistan" 2004 0 0 0 .3288086 .0013256542 .327483 . . . . . 121.13581870045 30.2716744732668 43.0157852611021 1553461559.54703 . . . "Afghanistan" 2005 0 0 0 .3465282 0 .3465282 . . . . . 104.862400564151 31.7509905365424 40.888791849071 1931967584.51439 .27210596 .19935626 .52853775 "Afghanistan" 2006 0 0 0 .3427397 .00026062844 .3424791 . . . . . 100.555349411331 29.2497367788414 41.9347976592474 1996576120.4674 .26283422 .22136387 .51580185 "Afghanistan" 2007 0 0 0 .3058659 .001986648 .3038793 . . . . . 76.1737610946716 30.6228536688586 42.0324430728765 2933363219.94127 .26021478 .2777665 .4620187 "Afghanistan" 2008 0 0 0 .3958238 .0021946398 .3936292 . . . . . 73.0655202440326 25.3947405330476 47.1463266712643 2516431413.26728 .26395363 .3097784 .42626795 "Afghanistan" 2009 0 0 0 .4193978 .008399716 .4109981 . . . . . 56.9068174248469 30.2056024682127 47.2185139688763 3638186923.57196 .28629562 .28334987 .4303545 "Afghanistan" 2010 0 0 0 .3586015 .00314746 .355454 . . . . . 54.9673280956043 27.0915400061362 51.046119264397 4156039155.27831 .28659043 .2947804 .4186291 "Afghanistan" 2011 0 0 0 .33334064 .0016847415 .3316559 . . . . . 50.3012220744035 24.507440419353 52.0208079962345 4227586231.5897 .28183085 .3364585 .3817107 "Afghanistan" 2012 0 0 0 .27492297 .0012605474 .27366242 . . . . . 44.659247762082 24.6032470715393 53.549427975373 4855585955.27795 .25726697 .3669724 .3757607 "Afghanistan" 2013 0 0 0 .21646163 .003274509 .2131871 . . . . . 56.0656699448102 23.8913721393019 54.9553596423244 4595526216.81435 . . . "Afghanistan" 2014 .0018807802 .0018807802 0 .2229653 .02037718 .2025881 .3303823 .000015883841 . . . 52.8735636084187 23.463125535053 54.2076581408891 4537459835.73997 . . . "Afghanistan" 2015 0 0 0 .18610555 0 .18610555 .3301638 .00011625045 . . . 56.9791153844575 21.715416575352 55.0012985505161 4048365880.81825 . . . "Afghanistan" 2016 . . . . . . . . . . . . . . . . . . "Albania" 1960 . . . . . . . . . . . . . . . . . . "Albania" 1961 . . . . . . . . . . . . . . . . . . "Albania" 1962 . . . . . . . . . . . . . . . . . . "Albania" 1963 . . . . . . . . . . . . . . . . . . "Albania" 1964 . . . . . . . . . . . . . . . . . . "Albania" 1965 . . . . . . . . . . . . . . . . . . "Albania" 1966 . . . . . . . . . . . . . . . . . . "Albania" 1967 . . . . . . . . . . . . . . . . . . "Albania" 1968 . . . . . . . . . . . . . . . . . . "Albania" 1969 . . . . . . . . . . . . . . . . . . "Albania" 1970 . . . . . . . . 0 0 0 . . . . . . . "Albania" 1971 . . . . . . . . 0 0 0 . . . . . . . "Albania" 1972 . . . . . . . . 0 0 0 . . . . . . . "Albania" 1973 . . . . . . . . 0 0 0 . . . . . . . "Albania" 1974 . . . . . . . . 0 0 0 . . . . . . . "Albania" 1975 . . . . . . . . 0 0 0 . . . . . . . "Albania" 1976 . . . . . . . . 0 0 0 . . . . . . . "Albania" 1977 . . . . . . . . 0 0 0 . . . . . . . "Albania" 1978 . . . . . . . . 0 0 0 . . . . . . . "Albania" 1979 . . . . . . . . 0 0 0 . . . . . . . "Albania" 1980 . . . . . . . . 0 0 0 45.8250749506054 33.6002061629567 21.3997948345977 . . . . "Albania" 1981 . . . . . . . . 0 0 0 44.497605577662 32.4002988390487 24.599639299444 . . . . "Albania" 1982 . . . . . . . . 0 0 0 43.2525386847195 31.6997104690522 24.5001190764023 . . . . "Albania" 1983 . . . . . . . . 0 0 0 39.00562196255 34.1000974784758 22.599852713463 . . . . "Albania" 1984 0 0 0 0 0 0 1.0041833 .9037338 0 0 0 36.7904298195613 33.0999410472445 22.9000598249542 636923117.551676 . . . "Albania" 1985 0 0 0 0 0 0 1.0041871 .9772699 0 0 0 34.685406148026 34.6000120880036 22.0998617588771 680023304.415112 . . . "Albania" 1986 0 0 0 0 0 0 1.0047247 1.1377844 0 0 0 30.5250142005462 34.0000003795285 21.7998848660156 739075012.5 . . . "Albania" 1987 0 0 0 0 0 0 1.0045357 1.0993149 0 0 0 31.0288080231291 33.2000247238173 20.9998236132765 7.160e+08 . . . "Albania" 1988 0 0 0 .001618062 0 .001618062 1.0043175 .5269392 0 0 0 35.600305738476 31.4998818203198 22.2001428739417 669687487.5 . . . "Albania" 1989 .0006842889 .0006842889 0 .00245383 0 .00245383 1.0047654 .5513882 0 0 0 38.6585297289146 32.300197699803 22.8997388945974 754249987.5 . . . "Albania" 1990 0 0 0 .0042919167 0 .0042919167 .8730781 .12790398 1 0 0 38.0657831094828 35.9007899107974 15.8984122268199 754499962.5 . . . "Albania" 1991 .04260572 .04699489 .0043891734 .28259256 0 .28259256 .870449 .7487751 1 0 0 34.8163862743792 39.2952951590215 18.0077990369629 447638895.833333 . . . "Albania" 1992 .030985553 .030985553 0 .2133617 0 .2133617 .8190893 .0010540689 0 0 0 100.002686541879 51.6418702727331 25.0375709152846 366374583.014027 . . . "Albania" 1993 .05788953 .05788953 0 .06754495 0 .06754495 .8205175 .004844893 0 0 0 77.7150689060593 54.6409764928012 22.45731668472 671030007.10349 . . . "Albania" 1994 .01224404 .013251254 .0010072148 .02926966 0 .02926966 .8226219 4.306961 0 1 0 50.3020121386065 53.6209806102615 24.6483353387735 1064737762.26363 .6386799 .13600326 .2253168 "Albania" 1995 .018609727 .018609727 0 .026017746 0 .026017746 .8238713 4.3263083 0 0 0 46.9874219923069 55.8121447107506 21.6899136231673 1353164895.49341 .5486216 .1654001 .28597832 "Albania" 1996 .02628538 .02628538 0 .029687185 0 .029687185 .8895453 5.289777 0 0 0 43.2202029493193 37.4796047456367 47.176549767971 1165148717.77636 .58416075 .11087462 .3049647 "Albania" 1997 .0015905822 .0015905822 0 .034374293 0 .034374293 .8237743 4.3248076 0 0 1 43.9356497363814 32.7001599191829 51.9221887137222 712376929.214036 .6365157 .1151212 .24836315 "Albania" 1998 .023924507 .02436778 .0004432749 .023183277 0 .023183277 .8247966 4.340635 0 0 0 45.4813408338561 30.4752181660802 56.4149365547474 732878397.942657 . . . "Albania" 1999 .007188037 .007188037 0 .06948656 0 .06948656 .8268577 4.3725343 0 0 0 48.0297480000861 27.1177320805595 58.9075215769626 832710171.167734 . . . "Albania" 2000 .02101953 .02101953 0 .036944643 .0007666696 .036177974 1.2636997 4.3831244 0 0 0 55.9204287258909 26.4904623101545 56.804165654584 853480999.520756 . . . "Albania" 2001 .004098163 .004098163 0 .033481427 0 .033481427 1.1082355 4.4038253 0 0 0 57.4303612455343 24.4530545715531 57.2320699061244 891266412.731519 .6540391 .21077316 .13518777 "Albania" 2002 .009490874 .009490874 0 .033631872 0 .033631872 .9505413 4.0549374 0 0 0 63.9342407395705 24.2359328702367 56.1679952068916 957994492.51704 end
***Here is the sets of globals: they go up to 45 in my dofile***
global controls_revenues1 "i.DE03 i.DE05 DG03 DG04"
global controls_revenues2 "DA01 DF01 i.DE03 i.DE05 DG03 DG04"
global controls_revenues3 "DF01 DB01 DG03 DG04 i.DE05"
global controls_revenues4 "DA01 DF01 DB01 DG03 DG04 i.DE05"
global controls_revenues5 "DF01 DH01 DH07 DB01 DG03 DG04 i.DE05"
global controls_revenues6 "DA01 DF01 DH01 DH07 DB01 DG03 DG04 i.DE04"
global controls_revenues7 "DA01 DF01 DH01 DH07 DB01"
global controls_revenues8 "DF01 DH07 DB01 DG01 i.DE04"
global controls_revenues9 "DA01 DH07 DB01 DG01 i.DE03"
0 Response to Loop, sequence, and save with new name each time
Post a Comment