1 The SAS System 15:49 Wednesday, December 4, 2002 NOTE: Copyright (c) 1999-2001 by SAS Institute Inc., Cary, NC, USA. NOTE: SAS (r) Proprietary Software Release 8.2 (TS2M0) Licensed to UNIVERSITY OF MISSOURI AT COLUMBIA-CAMPUSWIDE-T/R, Site 0001242001. NOTE: This session is executing on the AIX 4.3 platform. This message is contained in the SAS news file, and is presented upon initialization. Edit the files "news" in the "misc/base" directory to display site-specific news and information in the program log. The command line option "-nonews" will prevent this display. NOTE: SAS initialization used: real time 0.19 seconds cpu time 0.03 seconds NOTE: AUTOEXEC processing beginning; file is /home/john/autoexec.sas. v8= 1 ***** ****** Standard OSEDA/MCDC autoexec (autoexec8.sas in sascode) rev. 07JUN02 - Begin execution ******* Standard filerefs and librefs assigned ***** NOTE: Libref SF12000 was successfully assigned as follows: Engine: V8 Physical Name: /pub/data/sf12000 NOTE: Libref SF1 was successfully assigned as follows: Levels: 1 Engine(1): V8 Physical Name(1): /pub/data/sf12000 NOTE: Libref SF12000X was successfully assigned as follows: Engine: V8 Physical Name: /pub/data/sf12000x NOTE: Libref SF1X was successfully assigned as follows: Levels: 1 Engine(1): V8 Physical Name(1): /pub/data/sf12000x NOTE: Libref SF3PROF was successfully assigned as follows: Engine: V8 Physical Name: /pub/data/sf3prof NOTE: Libref SF32000 was successfully assigned as follows: Engine: V8 Physical Name: /pub/data/sf32000 NOTE: Libref SF3 was successfully assigned as follows: Levels: 1 Engine(1): V8 Physical Name(1): /pub/data/sf32000 NOTE: Libref SF32000X was successfully assigned as follows: Engine: V8 Physical Name: /pub/data/sf32000x NOTE: Libref SF3X was successfully assigned as follows: Levels: 1 Engine(1): V8 Physical Name(1): /pub/data/sf32000x 2 The SAS System 15:49 Wednesday, December 4, 2002 NOTE: Libref INDCTRS was successfully assigned as follows: Engine: V8 Physical Name: /pub/data/indctrs NOTE: Libref POPESTS was successfully assigned as follows: Engine: V8 Physical Name: /pub/data/popests NOTE: Libref STF903X was successfully assigned as follows: Engine: V8 Physical Name: /pub/data/stf903x NOTE: Libref STF903X2 was successfully assigned as follows: Engine: V8 Physical Name: /pub/data/stf903x2 ****Finished with generic autoexec **** *** ****Excuting my private autoexec.sas file, rev. 21Nov2002 NOTE: Libname LIBRARY refers to the same physical library as SASCTLGS. NOTE: Libref LIBRARY was successfully assigned as follows: Engine: V8 Physical Name: /pub/sasctlgs ***** dmsflag= NODMS dmchk execution begins *** **Begin execution on Wednesday 04DEC02 at 15:49 PID=40610 NOTE: Libname SF1 refers to the same physical library as SF12000. NOTE: Libref SF1 was successfully assigned as follows: Engine: V8 Physical Name: /pub/data/sf12000 NOTE: Libname SF1X refers to the same physical library as SF12000X. NOTE: Libref SF1X was successfully assigned as follows: Engine: V8 Physical Name: /pub/data/sf12000x NOTE: Libref INDCTRS was successfully assigned as follows: Engine: V8 Physical Name: /pub/data/indctrs NOTE: Libref STF901X2 was successfully assigned as follows: Engine: V8 Physical Name: /pub/data/stf901x2 NOTE: Libref STF903X2 was successfully assigned as follows: Engine: V8 Physical Name: /pub/data/stf903x2 NOTE: AUTOEXEC processing completed. 1 x cd /pub/sasmacro 1 ! ; %let pgm=test_circagg; filename pgm "&pgm..sas"; 2 *---Test setup to test the circagg -- circular area aggregation -- macro. 3 jgb, 12/2002 4 ---*; 5 6 libname temp '/pub/data/sf32000x/temp'; NOTE: Libref TEMP was successfully assigned as follows: Engine: V8 Physical Name: /pub/data/sf32000x/temp 7 libname user '/tmp/scratch/user'; NOTE: Libref USER was successfully assigned as follows: 3 The SAS System 15:49 Wednesday, December 4, 2002 Engine: V8 Physical Name: /tmp/scratch/user 8 %libname(sf32000x); NOTE: Libname SF32000X refers to the same physical library as SF3X. NOTE: Libref SF32000X was successfully assigned as follows: Engine: V8 Physical Name: /pub/data/sf32000x 9 10 options mprint NOsymbolgen; 11 12 /*<=========================Comment out===================================== 13 *---This was what we ran for Hearnes Center request, 12-4-02---; 14 %circagg(setsin=sf32000x.mobgs sf32000x.ilbgs, 15 setout=temp.hearnes_radii, 16 filetype=s3f2000x, 17 x0=92.333779,y0=38.948351, 18 radius=10 20 30 60 100, 19 sitename=%str(Columbia, MO), 20 sumlev=150, 21 filter=, 22 debug=1) 23 ===========================End commented out================================ */ 24 25 26 %circagg(setsin=sf32000x.usstcnty, 27 setout=temp.columbia_500miles, 28 filetype=s3f2000x, 29 x0=92.333779,y0=38.948351, 30 radius=500, 31 sitename=%str(Columbia, MO), 32 sumlev=050, 33 filter=, 34 debug=1) Parms: 500 92.333779 38.948351 lon1= 9 Radius 1 = 500 = 500 Radius 2 = = MPRINT(CIRCAGG): data aggin; MPRINT(CIRCAGG): retain sitename "Columbia, MO" radius ; MPRINT(CIRCAGG): retain _x0 -92.333779 _y0 38.948351; MPRINT(CIRCAGG): retain xlong0r ylat0r sinylat0 cosylat0; MPRINT(CIRCAGG): array _radius(1) _temporary_ (500); MPRINT(CIRCAGG): rename _x0=Longitude _y0=Latitude; MPRINT(CIRCAGG): set sf32000x.usstcnty; MPRINT(CIRCAGG): retain _D2R .0174532925; MPRINT(CIRCAGG): *--- This is ATAN(1)/45: converts to radians; MPRINT(CIRCAGG): drop _d2r; MPRINT(CIRCAGG): *--convert coords from degrees to radians--; MPRINT(CIRCAGG): *---this code should only have to execute once.---; MPRINT(CIRCAGG): if xlong0r=. then do; MPRINT(CIRCAGG): xlong0r=abs(_x0) * _d2r; MPRINT(CIRCAGG): ylat0r=_y0 * _d2r; MPRINT(CIRCAGG): sinylat0=sin(ylat0r); MPRINT(CIRCAGG): cosylat0=cos(ylat0r); MPRINT(CIRCAGG): end; MPRINT(CIRCAGG): if SumLev = "050"; 4 The SAS System 15:49 Wednesday, December 4, 2002 MPRINT(CIRCAGG): xlongr=abs(intptlon) * _d2r; MPRINT(CIRCAGG): ylatr=intptlat * _d2r; MPRINT(CIRCAGG): *--This distance algorithm coded by jgb from a formula found in an old Schaums Outline book back in the 70s. Seems to work OK.--; MPRINT(CIRCAGG): distance=3949.99*arcos(sinylat0 * sin(ylatr) + cosylat0 * cos(ylatr) * cos(xlong0r- xlongr)); MPRINT(CIRCAGG): if distance le 500; MPRINT(CIRCAGG): *---In this set of nested if-else statements we find the first (smallest) radius distance falls within--; MPRINT(CIRCAGG): if distance le 500 then radius=500; MPRINT(CIRCAGG): output; MPRINT(CIRCAGG): format distance 7.2; MPRINT(CIRCAGG): run; NOTE: There were 3271 observations read from the data set SF32000X.USSTCNTY. NOTE: The data set USER.AGGIN has 1267 observations and 433 variables. NOTE: DATA statement used: real time 0.49 seconds cpu time 0.42 seconds MPRINT(CIRCAGG): proc sort data=aggin; MPRINT(CIRCAGG): by radius distance; MPRINT(CIRCAGG): run; NOTE: There were 1267 observations read from the data set USER.AGGIN. NOTE: The data set USER.AGGIN has 1267 observations and 433 variables. NOTE: PROCEDURE SORT used: real time 0.33 seconds cpu time 0.12 seconds *************************************************************** * CumAGG Macro Rev. 02Dec02 Begin Execution * * Missouri Census Data Center * *************************************************************** *****PARAMETERS SPECIFIED***** (NAMES IN PARENTHESES ARE ALIASES) SETIN(AGGIN)= aggin (INPUT DATA SET) SETOUT(AGGOUT)= (OUTPUT DATA SET) AGGBY(BYVARS)= radius (AGGREGATION BY VARIABLES) AGGLVL(AGGLVLS)= 1 (NUMBER OF LEVELS OF AGGREGATION) AGGVARS(VARS)= LANDSQMI TOTPOP--AVGHVALUE (VARIABLES ON SETIN TO AGGREGATE) NAGGVARS= 404 (NUMBER OF VARIABLES IN AGGVARS LIST) NUMS= (NUMERATOR VARIABLES) DENOMS(DENS)= (LIST OF DENOMINATORS) MEANS(MEDIANS)= PctSample PctUrban PctInUAs PctInUCs PctRural PctOnFarms PopPerSQM PctAge0_4 PctAge5_9 PctAge10_14 PctAge15_17 PctAge18_19 PctAge20_24 PctAge25_34 PctAge35_44 PctAge45_54 PctAge55_59 PctAge60_64 PctAge65_74 PctAge75_84 PctOver85 PctUnder18 PctOver18 PctAge18_64 PctOver21 PctOver62 PctOver65 PctWhite1 PctBlack1 PctIndian1 PctAsian1 PctHawnPI1 PctOther1 PctMultRace PctHispPop PctWhite1NH PctMinority PctHHPop PctHouseholder PctSpouse PctChild PctOther_relative PctNonRelative PctFamilies PctMarriedCouples PctCouplesWithKids PctSingleParents PctSingleMothers PctOtherFamilies PctNonFamHHs PctLivingAlone PctOver15 PctNeverMarried PctMarried PctSeparated PctWidowed PctDivorced PctOver5 PctEnglishOnly PctEnglishLimited PctNoEnglish PctForeignBorn PctNaturalized PctNonCitizen PctEnteredLast10Yrs PctFBEurope PctFBAsia PctFBLatinAmerica PctFBMexico PctFBOther PctSameHouse PctSameCounty PctSameState PctWorkInCounty PctWorkersInaPlace PctWorkInPlace PctDriveAlone PctCarpool 5 The SAS System 15:49 Wednesday, December 4, 2002 PctPublicTrans PctCycleWalk PctWorkAtHome AvgCommute PctOver3 PctEnrolledK12 PctInPvtSchools PctInCollege PctOver25 PctLessThan9th PctSomeHighSchool PctHighSchool PctNoCollege PctSomeCollege PctBachelors PctMasters PctProfPHD PctGradProf PctOver18 PctArmedForces PctCivilian PctVeteran PctDisabled PctDisabled65 PctWorkDisability PctOver16 PctCivLabForce PctUnemployed PctCivLabForceFem PctUnemployedFem PctNotInLF PctBothWork PctOneWorks PctEmployedCLF PctManufacturing PctRetailTrade PctEducation PctHealthSA PctOtherIndustry PctUnemployedCLF PctManProfOccs PctServiceOccs PctSalesOffOccs PctFarmFishOccs PctConsOccs PctTransOccs PctHHInc0 PctHHInc10 PctHHInc15 PctHHInc25 PctHHInc35 PctHHInc50 PctHHInc75 PctHHInc100 PctHHInc150 PctHHInc200 MedianHHInc AvgHHInc PctHHIncLT200 AvgHHIncLT200 AvgHHIncGE200 PctWages PctSocSec PctSSI PctPubAssist PctRetirement MedianFamInc AvgFamInc PCI AvgMaleEarnings AvgFemEarnings PctPovUniverse PctPoor PctVeryPoor PctUnder185Poor PctNearlyPoor MeanPovRatio PctPoorInFam PctPoorFamilies PctPoorNonFamHHs PctFemale PctGQPop PctInInstitutions PctGrandPrntsCaring PctOccHUSample PctVacHUSample PctUrbanHUs PctRuralHUs PctOccupied PctOwnerOcc PctRenterOcc PctVacant PctCrowded PctPlumbing PctNoPhone PctNoCars AvgHHSize PctMovedIn5 MedianYearIn PctUnits1 PctUnits2 PctUnits5 PctUnits20up PctMobileHomes PctBoatRV PctAgeUnit5 PctAgeUnit50 PctBuiltBefore1940 AvgAgeUnit PctSpecRenter PctCashRenter PctRentUnder300 PctRenter300 PctRent600 PctRenterOver1000 MedianGrossRent AvgGrossRent PctNoCashRent PctSpecOwner PctHvalUnder50 PctHval50 PctHval100 PctHval150 PctHval200 PctHval300 PctHval500 PctHvalOverMillion MedianHValue AvgHValue (MEAN/MEDIAN VARS TO BE AGGREGATED) NMEANS= 207 (NUMBER OF VARIABLES IN MEANS LIST) MWEIGHTS= TotPop100 TotPop TotPop TotPop TotPop TotPop LandSQMI TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop Totpop HHpop HHpop HHpop HHpop HHpop TotHHs TotHHs TotHHs TotHHs TotHHs TotHHs TotHHs TotHHs TotPop Over15 Over15 Over15 Over15 Over15 TotPop Over5 Over5 Over5 TotPop TotPop TotPop TotPop ForeignBorn ForeignBorn ForeignBorn ForeignBorn ForeignBorn Over5 Over5 Over5 Worker16 Worker16 WorkersInaPlace Worker16 Worker16 Worker16 Worker16 Worker16 Commuters TotPop Over3 EnrolledK12 Over3 TotPop Over25 Over25 Over25 Over25 Over25 Over25 Over25 Over25 Over25 TotPop Over18 Over18 Over18 DisabledUniv DisabledUniv65 DisabledUniv16 TotPop Over16 CivLabForce CivLabForce CivLabForceFem Over16 MarriedCouples MarriedCouples CivLabForce EmployedCLF EmployedCLF EmployedCLF EmployedCLF EmployedCLF CivLabForce EmployedCLF EmployedCLF EmployedCLF EmployedCLF EmployedCLF EmployedCLF TotHHs TotHHs TotHHs TotHHs TotHHs TotHHs TotHHs TotHHs TotHHs TotHHs TotHHs TotHHs TotHHs HHIncLT200 HHInc200 TotalIncome TotalIncome TotalIncome TotalIncome TotalIncome Families Families TotPop NMalesEarning NFemalesEarning TotPop PovUniverse PovUniverse PovUniverse PovUniverse PovUniverse InFamPovUniv Families NonFamHHs TotPop TotPop TotPop TotPop OccHUs100 VacHUs100 TotHUs TotHUs TotHUs Occupied Occupied TotHUs Occupied Occupied Occupied Occupied Occupied Occupied Occupied TotHUs TotHUs TotHUs TotHUs TotHUs TotHUs TotHUs TotHUs TotHUs TotHUs RenterOcc SpecRenter CashRenter CashRenter CashRenter CashRenter CashRenter CashRenter SpecRenter OwnerOcc SpecOwner SpecOwner SpecOwner SpecOwner SpecOwner SpecOwner SpecOwner SpecOwner SpecOwner SpecOwner (LIST OF WEIGHT VARIABLES FOR MEANS) NMWTS= 207 (NUMBER OF VARIABLES IN MWEIGHTS LIST) DROPVARS= _lvl_ (VARIABLES TO DROP FROM OUTPUT DATA SET) SLCTEDIT(FILTER)= (SELECT/EDIT USER-EXIT MACRO NAME) IDVARS(IDS)= sitename latitude longitude (ID VARIABLES TO KEEP ON AGGOUT) GRAND= 0 (GRAND TOTALS OPTION) FILLBY= (FILLER CHARACTER FOR AGGBY VARIABLES) NODUPS= 0 (OPTION TO OMIT REDUNDANT HIGHER LEVEL SUMS) ***END PARM LIST*** AGGBY1= radius ****PARM VERIFICATION PHASE COMPLETE**** MPRINT(CUMAGG): DATA temp.columbia_500miles; MPRINT(CUMAGG): LENGTH _LVL_ 3 _NAG_ 4; MPRINT(CUMAGG): LABEL _LVL_= 'SUMMARY LEVEL CODE' _NAG_= '# OF OBS AGGREGATED'; MPRINT(CUMAGG): SET aggin(KEEP=radius LANDSQMI TOTPOP--AVGHVALUE sitename latitude longitude PctSample PctUrban PctInUAs PctInUCs PctRural PctOnFarms PopPerSQM PctAge0_4 PctAge5_9 PctAge10_14 PctAge15_17 PctAge18_19 PctAge20_24 PctAge25_34 PctAge35_44 PctAge45_54 PctAge55_59 PctAge60_64 PctAge65_74 PctAge75_84 PctOver85 PctUnder18 PctOver18 PctAge18_64 PctOver21 PctOver62 PctOver65 PctWhite1 PctBlack1 PctIndian1 PctAsian1 PctHawnPI1 PctOther1 PctMultRace PctHispPop PctWhite1NH PctMinority PctHHPop PctHouseholder PctSpouse PctChild PctOther_relative PctNonRelative PctFamilies PctMarriedCouples PctCouplesWithKids PctSingleParents PctSingleMothers PctOtherFamilies PctNonFamHHs PctLivingAlone PctOver15 PctNeverMarried PctMarried PctSeparated PctWidowed PctDivorced PctOver5 PctEnglishOnly PctEnglishLimited PctNoEnglish PctForeignBorn PctNaturalized PctNonCitizen PctEnteredLast10Yrs PctFBEurope PctFBAsia PctFBLatinAmerica PctFBMexico PctFBOther PctSameHouse PctSameCounty PctSameState PctWorkInCounty PctWorkersInaPlace PctWorkInPlace PctDriveAlone PctCarpool PctPublicTrans PctCycleWalk PctWorkAtHome AvgCommute PctOver3 PctEnrolledK12 PctInPvtSchools PctInCollege PctOver25 PctLessThan9th PctSomeHighSchool PctHighSchool PctNoCollege PctSomeCollege PctBachelors PctMasters PctProfPHD PctGradProf PctOver18 PctArmedForces PctCivilian PctVeteran PctDisabled PctDisabled65 PctWorkDisability PctOver16 PctCivLabForce PctUnemployed PctCivLabForceFem PctUnemployedFem PctNotInLF PctBothWork 6 The SAS System 15:49 Wednesday, December 4, 2002 PctOneWorks PctEmployedCLF PctManufacturing PctRetailTrade PctEducation PctHealthSA PctOtherIndustry PctUnemployedCLF PctManProfOccs PctServiceOccs PctSalesOffOccs PctFarmFishOccs PctConsOccs PctTransOccs PctHHInc0 PctHHInc10 PctHHInc15 PctHHInc25 PctHHInc35 PctHHInc50 PctHHInc75 PctHHInc100 PctHHInc150 PctHHInc200 MedianHHInc AvgHHInc PctHHIncLT200 AvgHHIncLT200 AvgHHIncGE200 PctWages PctSocSec PctSSI PctPubAssist PctRetirement MedianFamInc AvgFamInc PCI AvgMaleEarnings AvgFemEarnings PctPovUniverse PctPoor PctVeryPoor PctUnder185Poor PctNearlyPoor MeanPovRatio PctPoorInFam PctPoorFamilies PctPoorNonFamHHs PctFemale PctGQPop PctInInstitutions PctGrandPrntsCaring PctOccHUSample PctVacHUSample PctUrbanHUs PctRuralHUs PctOccupied PctOwnerOcc PctRenterOcc PctVacant PctCrowded PctPlumbing PctNoPhone PctNoCars AvgHHSize PctMovedIn5 MedianYearIn PctUnits1 PctUnits2 PctUnits5 PctUnits20up PctMobileHomes PctBoatRV PctAgeUnit5 PctAgeUnit50 PctBuiltBefore1940 AvgAgeUnit PctSpecRenter PctCashRenter PctRentUnder300 PctRenter300 PctRent600 PctRenterOver1000 MedianGrossRent AvgGrossRent PctNoCashRent PctSpecOwner PctHvalUnder50 PctHval50 PctHval100 PctHval150 PctHval200 PctHval300 PctHval500 PctHvalOverMillion MedianHValue AvgHValue TotPop100 TotPop TotPop TotPop TotPop TotPop LandSQMI TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop Totpop HHpop HHpop HHpop HHpop HHpop TotHHs TotHHs TotHHs TotHHs TotHHs TotHHs TotHHs TotHHs TotPop Over15 Over15 Over15 Over15 Over15 TotPop Over5 Over5 Over5 TotPop TotPop TotPop TotPop ForeignBorn ForeignBorn ForeignBorn ForeignBorn ForeignBorn Over5 Over5 Over5 Worker16 Worker16 WorkersInaPlace Worker16 Worker16 Worker16 Worker16 Worker16 Commuters TotPop Over3 EnrolledK12 Over3 TotPop Over25 Over25 Over25 Over25 Over25 Over25 Over25 Over25 Over25 TotPop Over18 Over18 Over18 DisabledUniv DisabledUniv65 DisabledUniv16 TotPop Over16 CivLabForce CivLabForce CivLabForceFem Over16 MarriedCouples MarriedCouples CivLabForce EmployedCLF EmployedCLF EmployedCLF EmployedCLF EmployedCLF CivLabForce EmployedCLF EmployedCLF EmployedCLF EmployedCLF EmployedCLF EmployedCLF TotHHs TotHHs TotHHs TotHHs TotHHs TotHHs TotHHs TotHHs TotHHs TotHHs TotHHs TotHHs TotHHs HHIncLT200 HHInc200 TotalIncome TotalIncome TotalIncome TotalIncome TotalIncome Families Families TotPop NMalesEarning NFemalesEarning TotPop PovUniverse PovUniverse PovUniverse PovUniverse PovUniverse InFamPovUniv Families NonFamHHs TotPop TotPop TotPop TotPop OccHUs100 VacHUs100 TotHUs TotHUs TotHUs Occupied Occupied TotHUs Occupied Occupied Occupied Occupied Occupied Occupied Occupied TotHUs TotHUs TotHUs TotHUs TotHUs TotHUs TotHUs TotHUs TotHUs TotHUs RenterOcc SpecRenter CashRenter CashRenter CashRenter CashRenter CashRenter CashRenter SpecRenter OwnerOcc SpecOwner SpecOwner SpecOwner SpecOwner SpecOwner SpecOwner SpecOwner SpecOwner SpecOwner SpecOwner ) END=EODAGGIN; MPRINT(CUMAGG): BY radius ; MPRINT(CUMAGG): RETAIN; MPRINT(CUMAGG): RETAIN _FILLBY " "; MPRINT(CUMAGG): DROP _FILLBY; MPRINT(CUMAGG): *--USE 2-DIMENSIONAL ARRAYS TO HOLD TOTALS. 1ST SUBSCRIPT REFERS TO THE SUMMARY LEVEL, THE 2ND REFERS TO THE AGGVAR NUMBER. IF GRAND TOTALS ARE REQUESTED THEY ARE PUT IN AN EXTRA ROW OF THE _SUMS_ ARRAY--; MPRINT(CUMAGG): RETAIN _NROWS 1 _NVARS 404; MPRINT(CUMAGG): DROP _NROWS _NVARS; MPRINT(CUMAGG): DROP _J_ ; MPRINT(CUMAGG): DROP _lvl_; MPRINT(CUMAGG): *--WE SET UP SEPARATE ARRAYS TO DO DOUBLE AGGREGATION OF VARS INVOLVED IN WEIGHTED-MEANS OR PCT/RATIOS. THIS ALLOWS US TO HANDLE THE PROBLEMS OF ONE OF THESE VARS BEING MISSING FOR A CASE; MPRINT(CUMAGG): ARRAY _MIDS_(207) PctSample PctUrban PctInUAs PctInUCs PctRural PctOnFarms PopPerSQM PctAge0_4 PctAge5_9 PctAge10_14 PctAge15_17 PctAge18_19 PctAge20_24 PctAge25_34 PctAge35_44 PctAge45_54 PctAge55_59 PctAge60_64 PctAge65_74 PctAge75_84 PctOver85 PctUnder18 PctOver18 PctAge18_64 PctOver21 PctOver62 PctOver65 PctWhite1 PctBlack1 PctIndian1 PctAsian1 PctHawnPI1 PctOther1 PctMultRace PctHispPop PctWhite1NH PctMinority PctHHPop PctHouseholder PctSpouse PctChild PctOther_relative PctNonRelative PctFamilies PctMarriedCouples PctCouplesWithKids PctSingleParents PctSingleMothers PctOtherFamilies PctNonFamHHs PctLivingAlone PctOver15 PctNeverMarried PctMarried PctSeparated PctWidowed PctDivorced PctOver5 PctEnglishOnly PctEnglishLimited PctNoEnglish PctForeignBorn PctNaturalized PctNonCitizen PctEnteredLast10Yrs PctFBEurope PctFBAsia PctFBLatinAmerica PctFBMexico PctFBOther PctSameHouse PctSameCounty PctSameState PctWorkInCounty PctWorkersInaPlace PctWorkInPlace PctDriveAlone PctCarpool PctPublicTrans PctCycleWalk PctWorkAtHome AvgCommute PctOver3 PctEnrolledK12 PctInPvtSchools PctInCollege PctOver25 PctLessThan9th PctSomeHighSchool PctHighSchool PctNoCollege PctSomeCollege PctBachelors PctMasters PctProfPHD PctGradProf PctOver18 PctArmedForces PctCivilian PctVeteran PctDisabled PctDisabled65 PctWorkDisability PctOver16 PctCivLabForce PctUnemployed PctCivLabForceFem PctUnemployedFem PctNotInLF PctBothWork PctOneWorks PctEmployedCLF PctManufacturing PctRetailTrade PctEducation PctHealthSA PctOtherIndustry PctUnemployedCLF PctManProfOccs PctServiceOccs PctSalesOffOccs PctFarmFishOccs PctConsOccs PctTransOccs PctHHInc0 PctHHInc10 PctHHInc15 PctHHInc25 PctHHInc35 PctHHInc50 PctHHInc75 PctHHInc100 PctHHInc150 PctHHInc200 MedianHHInc AvgHHInc PctHHIncLT200 AvgHHIncLT200 AvgHHIncGE200 PctWages PctSocSec PctSSI PctPubAssist PctRetirement MedianFamInc AvgFamInc PCI AvgMaleEarnings AvgFemEarnings PctPovUniverse PctPoor PctVeryPoor PctUnder185Poor PctNearlyPoor MeanPovRatio PctPoorInFam PctPoorFamilies PctPoorNonFamHHs PctFemale PctGQPop PctInInstitutions PctGrandPrntsCaring PctOccHUSample PctVacHUSample PctUrbanHUs PctRuralHUs PctOccupied PctOwnerOcc PctRenterOcc PctVacant PctCrowded PctPlumbing PctNoPhone PctNoCars AvgHHSize PctMovedIn5 MedianYearIn PctUnits1 PctUnits2 PctUnits5 PctUnits20up PctMobileHomes PctBoatRV PctAgeUnit5 PctAgeUnit50 PctBuiltBefore1940 AvgAgeUnit PctSpecRenter PctCashRenter PctRentUnder300 PctRenter300 PctRent600 PctRenterOver1000 MedianGrossRent AvgGrossRent 7 The SAS System 15:49 Wednesday, December 4, 2002 PctNoCashRent PctSpecOwner PctHvalUnder50 PctHval50 PctHval100 PctHval150 PctHval200 PctHval300 PctHval500 PctHvalOverMillion MedianHValue AvgHValue; MPRINT(CUMAGG): ARRAY _MIDS2_(207) TotPop100 TotPop TotPop TotPop TotPop TotPop LandSQMI TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop TotPop Totpop HHpop HHpop HHpop HHpop HHpop TotHHs TotHHs TotHHs TotHHs TotHHs TotHHs TotHHs TotHHs TotPop Over15 Over15 Over15 Over15 Over15 TotPop Over5 Over5 Over5 TotPop TotPop TotPop TotPop ForeignBorn ForeignBorn ForeignBorn ForeignBorn ForeignBorn Over5 Over5 Over5 Worker16 Worker16 WorkersInaPlace Worker16 Worker16 Worker16 Worker16 Worker16 Commuters TotPop Over3 EnrolledK12 Over3 TotPop Over25 Over25 Over25 Over25 Over25 Over25 Over25 Over25 Over25 TotPop Over18 Over18 Over18 DisabledUniv DisabledUniv65 DisabledUniv16 TotPop Over16 CivLabForce CivLabForce CivLabForceFem Over16 MarriedCouples MarriedCouples CivLabForce EmployedCLF EmployedCLF EmployedCLF EmployedCLF EmployedCLF CivLabForce EmployedCLF EmployedCLF EmployedCLF EmployedCLF EmployedCLF EmployedCLF TotHHs TotHHs TotHHs TotHHs TotHHs TotHHs TotHHs TotHHs TotHHs TotHHs TotHHs TotHHs TotHHs HHIncLT200 HHInc200 TotalIncome TotalIncome TotalIncome TotalIncome TotalIncome Families Families TotPop NMalesEarning NFemalesEarning TotPop PovUniverse PovUniverse PovUniverse PovUniverse PovUniverse InFamPovUniv Families NonFamHHs TotPop TotPop TotPop TotPop OccHUs100 VacHUs100 TotHUs TotHUs TotHUs Occupied Occupied TotHUs Occupied Occupied Occupied Occupied Occupied Occupied Occupied TotHUs TotHUs TotHUs TotHUs TotHUs TotHUs TotHUs TotHUs TotHUs TotHUs RenterOcc SpecRenter CashRenter CashRenter CashRenter CashRenter CashRenter CashRenter SpecRenter OwnerOcc SpecOwner SpecOwner SpecOwner SpecOwner SpecOwner SpecOwner SpecOwner SpecOwner SpecOwner SpecOwner; MPRINT(CUMAGG): ARRAY _MSUMS_(1,207,2) _TEMPORARY_; MPRINT(CUMAGG): ARRAY _AGGVRS_ (404) LANDSQMI TOTPOP--AVGHVALUE; MPRINT(CUMAGG): ARRAY _SUMS_(1,404) _TEMPORARY_; MPRINT(CUMAGG): ARRAY _FREQS_(1) _TEMPORARY_; MPRINT(CUMAGG): ARRAY _MEANS_ (1 : 207) PctSample PctUrban PctInUAs PctInUCs PctRural PctOnFarms PopPerSQM PctAge0_4 PctAge5_9 PctAge10_14 PctAge15_17 PctAge18_19 PctAge20_24 PctAge25_34 PctAge35_44 PctAge45_54 PctAge55_59 PctAge60_64 PctAge65_74 PctAge75_84 PctOver85 PctUnder18 PctOver18 PctAge18_64 PctOver21 PctOver62 PctOver65 PctWhite1 PctBlack1 PctIndian1 PctAsian1 PctHawnPI1 PctOther1 PctMultRace PctHispPop PctWhite1NH PctMinority PctHHPop PctHouseholder PctSpouse PctChild PctOther_relative PctNonRelative PctFamilies PctMarriedCouples PctCouplesWithKids PctSingleParents PctSingleMothers PctOtherFamilies PctNonFamHHs PctLivingAlone PctOver15 PctNeverMarried PctMarried PctSeparated PctWidowed PctDivorced PctOver5 PctEnglishOnly PctEnglishLimited PctNoEnglish PctForeignBorn PctNaturalized PctNonCitizen PctEnteredLast10Yrs PctFBEurope PctFBAsia PctFBLatinAmerica PctFBMexico PctFBOther PctSameHouse PctSameCounty PctSameState PctWorkInCounty PctWorkersInaPlace PctWorkInPlace PctDriveAlone PctCarpool PctPublicTrans PctCycleWalk PctWorkAtHome AvgCommute PctOver3 PctEnrolledK12 PctInPvtSchools PctInCollege PctOver25 PctLessThan9th PctSomeHighSchool PctHighSchool PctNoCollege PctSomeCollege PctBachelors PctMasters PctProfPHD PctGradProf PctOver18 PctArmedForces PctCivilian PctVeteran PctDisabled PctDisabled65 PctWorkDisability PctOver16 PctCivLabForce PctUnemployed PctCivLabForceFem PctUnemployedFem PctNotInLF PctBothWork PctOneWorks PctEmployedCLF PctManufacturing PctRetailTrade PctEducation PctHealthSA PctOtherIndustry PctUnemployedCLF PctManProfOccs PctServiceOccs PctSalesOffOccs PctFarmFishOccs PctConsOccs PctTransOccs PctHHInc0 PctHHInc10 PctHHInc15 PctHHInc25 PctHHInc35 PctHHInc50 PctHHInc75 PctHHInc100 PctHHInc150 PctHHInc200 MedianHHInc AvgHHInc PctHHIncLT200 AvgHHIncLT200 AvgHHIncGE200 PctWages PctSocSec PctSSI PctPubAssist PctRetirement MedianFamInc AvgFamInc PCI AvgMaleEarnings AvgFemEarnings PctPovUniverse PctPoor PctVeryPoor PctUnder185Poor PctNearlyPoor MeanPovRatio PctPoorInFam PctPoorFamilies PctPoorNonFamHHs PctFemale PctGQPop PctInInstitutions PctGrandPrntsCaring PctOccHUSample PctVacHUSample PctUrbanHUs PctRuralHUs PctOccupied PctOwnerOcc PctRenterOcc PctVacant PctCrowded PctPlumbing PctNoPhone PctNoCars AvgHHSize PctMovedIn5 MedianYearIn PctUnits1 PctUnits2 PctUnits5 PctUnits20up PctMobileHomes PctBoatRV PctAgeUnit5 PctAgeUnit50 PctBuiltBefore1940 AvgAgeUnit PctSpecRenter PctCashRenter PctRentUnder300 PctRenter300 PctRent600 PctRenterOver1000 MedianGrossRent AvgGrossRent PctNoCashRent PctSpecOwner PctHvalUnder50 PctHval50 PctHval100 PctHval150 PctHval200 PctHval300 PctHval500 PctHvalOverMillion MedianHValue AvgHValue; MPRINT(CUMAGG): *******************************************************************; MPRINT(CUMAGG): * AGG INITIALIZATION CODE (FIRST.AGGBY PROCESSING) *; MPRINT(CUMAGG): *******************************************************************; MPRINT(CUMAGG): IF _n_=1 THEN DO; MPRINT(CUMAGG): _FREQS_(1)=1; MPRINT(CUMAGG): DO _J_=1 TO 404; MPRINT(CUMAGG): _SUMS_(1,_J_)= 0; MPRINT(CUMAGG): END; MPRINT(CUMAGG): DO _J_=1 TO 207; MPRINT(CUMAGG): _MSUMS_(1,_J_,1)=0; MPRINT(CUMAGG): _MSUMS_(1,_J_,2)=0; MPRINT(CUMAGG): IF _J_ GT 0 THEN _MSUMS_(1,_J_,1)=0; MPRINT(CUMAGG): END; 8 The SAS System 15:49 Wednesday, December 4, 2002 MPRINT(CUMAGG): END; MPRINT(CUMAGG): ******************************************************************; MPRINT(CUMAGG): * THIS IS ACTUAL AGGREGATION PROCESSING, EXECUTED FOR EACH INPUT *; MPRINT(CUMAGG): * OBSERVATION. WE AGG AT LOWEST LEVEL HERE. *; MPRINT(CUMAGG): ******************************************************************; MPRINT(CUMAGG): *-- TWO TRICKY ITEMS TO WATCH HERE: WE DO NOT AGG. FIRST OBS AT LOWEST LEVEL (WE ASSIGN IT DURING INIT PROCESSING, ABOVE.) WHEN DEALING WITH WITH MEANS/MEDIANS, RATIOS/PERCENTS WE HAVE TO BE CAREFUL NOT TO COUNT (I.E. AGGREG) THE VALUE OF ONE IF THE CORRESPONDING ITEM IS MISSING; MPRINT(CUMAGG): _FREQS_(1)+1; MPRINT(CUMAGG): DO _J_=1 TO 404; MPRINT(CUMAGG): IF _AGGVRS_(_J_) NE . THEN _SUMS_(1,_J_) + _AGGVRS_(_J_) ; MPRINT(CUMAGG): END; MPRINT(CUMAGG): DO _J_=1 TO 207; MPRINT(CUMAGG): IF _MIDS2_(_J_) NE . AND _MIDS_(_J_) NE . THEN DO; MPRINT(CUMAGG): _MSUMS_(1,_J_,2) + _MIDS2_(_J_) ; MPRINT(CUMAGG): IF _J_ LE 0 THEN _MSUMS_(1,_J_,1) + _MIDS_(_J_) ; MPRINT(CUMAGG): ELSE _MSUMS_(1,_J_,1) + _MIDS2_(_J_)*_MIDS_(_J_) ; MPRINT(CUMAGG): END; MPRINT(CUMAGG): END; MPRINT(CUMAGG): CKBREAK: *******************************************************************; MPRINT(CUMAGG): * BREAK PROCESSING. HIGHER LEVEL AGGREGATION, FINAL UNWEIGHTING *; MPRINT(CUMAGG): * AND/OR RATIO/PERCENT CALUCATIONS, AND OUTPUTTING TAKE PLACE HERE*; MPRINT(CUMAGG): *******************************************************************; MPRINT(CUMAGG): IF LAST.radius THEN DO; MPRINT(CUMAGG): *--FOR EACH AGG VAR, ADD TO NEXT HIGHER LEVEL AND MOVE TO OUTPUT DATA VECTOR. PROCESS MEANS, PERCENTS, RATIOS, ETC--; MPRINT(CUMAGG): DO _J_=1 TO 404; MPRINT(CUMAGG): _AGGVRS_(_J_) = _SUMS_(1,_J_); MPRINT(CUMAGG): END; MPRINT(CUMAGG): *--PROCESS WEIGHTED MEANS/MEDIANS--*; MPRINT(CUMAGG): DO _J_= 1 TO 207; MPRINT(CUMAGG): IF _MSUMS_(1,_J_,2) GT 0 THEN _MEANS_(_J_)= _MSUMS_(1,_J_,1)/_MSUMS_(1,_J_,2); MPRINT(CUMAGG): ELSE _MEANS_(_J_)=.; MPRINT(CUMAGG): END; MPRINT(CUMAGG): _LVL_=1; MPRINT(CUMAGG): _NAG_=_FREQS_(1); MPRINT(CUMAGG): *-----------WRITE THE AGGREGATED OBSERVATION------------*; MPRINT(CUMAGG): OUTPUT; MPRINT(CUMAGG): radius=_FILLBY; MPRINT(CUMAGG): *--SET AGGBY VAR TO FILLER VALUE; MPRINT(CUMAGG): END; MPRINT(CUMAGG): *--LAST.AGGBY PROCESSING--; MPRINT(CIRCAGG): run; NOTE: Character values have been converted to numeric values at the places given by: (Line):(Column). 34:23 NOTE: Unreferenced label defined: CKBREAK. NOTE: There were 1267 observations read from the data set USER.AGGIN. NOTE: The data set TEMP.COLUMBIA_500MILES has 1 observations and 409 variables. NOTE: DATA statement used: real time 1.11 seconds cpu time 1.03 seconds 35 36 %include sascode(notify); 9 The SAS System 15:49 Wednesday, December 4, 2002 **** test_circagg (40610) has completed Wednesday 04DEC02 15:49 syserr=0 ***** NOTE: SAS Institute Inc., SAS Campus Drive, Cary, NC USA 27513-2414 NOTE: The SAS System used: real time 2.66 seconds cpu time 1.80 seconds