program define GovRevenues, rclass version 9 syntax varlist [if] , save(namelist) marksample touse tokenize `varlist' #delimit ; tempvar ry_earn sy_earn ry_pub sy_pub y_ben y_pen y_ot y_as mar rage sage; ///1. Assign Data to Variables ------------------- qui gen `ry_earn' = `1' if `touse'; qui gen `sy_earn' = `2' if `touse'; qui gen `ry_pub' = `3' if `touse'; qui gen `sy_pub' = `4' if `touse'; qui gen `y_ben' = `5' if `touse'; qui gen `y_pen' = `6' if `touse'; qui gen `y_ot' = `7' if `touse'; qui gen `y_as' = `8' if `touse'; qui gen `mar' = `9' if `touse'; qui gen `rage' = `10' if `touse'; qui gen `sage' = `11' if `touse'; /// 2. Calculate Taxes paid tempvar ftax stax ctax roasi soasi rmed smed hoasi hmed ninc gross; qui gen `gross' = `ry_earn' + `sy_earn' + `ry_pub' + `sy_pub' + `y_ben' + `y_pen' + `y_ot' + `y_as'; FedTax `varlist' if `touse', gen(`ftax'); StateTax `varlist' if `touse', gen(`stax' `ctax'); SsTax `ry_earn' if `touse', gen(`roasi' `rmed'); SsTax `sy_earn' if `touse', gen(`soasi' `smed'); qui gen `hoasi' = `roasi' + `soasi' if `touse'; qui gen `hmed' = `rmed' + `smed' if `touse'; qui gen `ninc' = `gross' - `ftax' - `stax' - `ctax' - `hoasi' - `hmed' if `touse'; /// Return result tokenize `save'; qui gen `1' = `gross' if `touse'; qui gen `2' = `ninc' if `touse'; qui gen `3' = `ftax' if `touse'; qui gen `4' = `stax' if `touse'; qui gen `5' = `ctax' if `touse'; qui gen `6' = `hoasi' if `touse'; qui gen `7' = `hmed' if `touse'; end;