/*This is the program file for Coughlin, Cletus C. "The Increasing Importance of Proximity for Exports from U.S. States." St. Louis Federal Reserve Bank Review, November/December 2004. This program file was last modified on October 26, 2004 by Molly Castelazo. The program was written in SAS 9.0.*/ /*THE FIRST PART OF THIS PROGRAM FILE CONTAINS THE CODE USED TO CREATE THE TOP 30 AND TOP 50 PERMANENT DATASETS FROM RAW DATA FILES. TO BYPASS THE PROCESS OF RE-CREATING PERM.DOT_30 AND PERM.DOT_50, SIMPLY SCROLL TO THE NEXT PART OF THE PROGRAM FILE AND IMPORT THE TOP 30 AND TOP 50 DATASETS FROM THE ACCOMPANYING DATA FILE*/ libname perm 'D:\Cletus Coughlin\Nov-Dec Review\pre-FRED'; /*IMPORT EXPORT DATA FROM EXCEL DATA FILES (HAVER)*/ proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-HAVER\haver1.xls' out=haver1 dbms=excel2000 replace;sheet=sas;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-HAVER\haver2.xls' out=haver2 dbms=excel2000 replace;sheet=sas;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-HAVER\haver3.xls' out=haver3 dbms=excel2000 replace;sheet=sas;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-HAVER\haver4.xls' out=haver4 dbms=excel2000 replace;sheet=sas;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-HAVER\haver5.xls' out=haver5 dbms=excel2000 replace;sheet=sas;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-HAVER\haver6.xls' out=haver6 dbms=excel2000 replace;sheet=sas;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-HAVER\haver7.xls' out=haver7 dbms=excel2000 replace;sheet=sas;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-HAVER\haver8.xls' out=haver8 dbms=excel2000 replace;sheet=sas;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-HAVER\haver9.xls' out=haver9 dbms=excel2000 replace;sheet=sas;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-HAVER\haverna.xls' out=haver_na dbms=excel2000 replace;run; data haver_nab (keep=state cntry totalexports date); set haver_na; state=substr(desc,12,2); cntry='Netherlands Antilles'; title 'Total Exports from States to All Countries, in Thous. $'; run; /*COMBINE ALL HAVER DATASETS INTO ONE*/ data haver_19 (keep=state cntry date totalexports); set haver1 haver2 haver3 haver4 haver5 haver6 haver7 haver8 haver9; state=substr(desc,12,2); cntry=substr(desc,32); title 'Total Exports from States to All Countries, in Thous. $'; run; data haverexports; set haver_19 haver_nab; run; /*ENSURE THAT ALL COUNTRIES ARE REFERRED TO IN THE SAME WAY*/ data haverexports_b (keep=state cntry date totalexports); set haverexports; format cntry $ 24.; if cntry='Bahamas' then do cntry='The Bahamas';end; if cntry='Bosnia-Herc' then do cntry='Bosnia & Herzegovina';end; if cntry='Cayman Islds' then do cntry='Cayman Is.';end; if cntry='Centl Afr Rep' then do cntry='Central African Rep';end; if cntry='Congo [Kin]' then do cntry='Congo';end; if cntry='Congo [Braz]' then do cntry='Republic of Congo';end; if cntry='Cook Islands' then do cntry='Cook Is.';end; if cntry='Czech Repub' then do cntry='Czech Republic';end; if cntry='Dom Rep' then do cntry='Dominican Republic';end; if cntry='El Salvadr' then do cntry='El Salvador';end; if cntry='Eqtrl Guinea' then do cntry='Equatorial Guinea';end; if cntry='Ethiopia[New]' then do cntry='Ethiopia';end; if cntry='Falklnd Isl' then do cntry='Falkland Is.';end; if cntry='Faroe Isl' then do cntry='Faroe Is.';end; if cntry='Frnch Guiana' then do cntry='French Guiana';end; if cntry='French Polyn' then do cntry='French Polynesia';end; if cntry='Gaza Str By Isrl' then do cntry='Gaza';end; if cntry='Guinea' then do cntry='Guinea-Bissau';end; if cntry='Maldive Isl' then do cntry='Maldive Islands';end; if cntry='Malta & Gozo' then do cntry='Malta';end; if cntry='Marshall Isl' then do cntry='Marshall Is.';end; if cntry='Fed St Of Mic' then do cntry='Micronesia';end; if cntry='New Zealnd' then do cntry='New Zealand';end; if cntry='N Korea' then do cntry='North Korea';end; if cntry='Papua N.G.' then do cntry='Papua New Guinea';end; if cntry='Solomon Isl' then do cntry='Solomon Is.';end; if cntry='S.A.' then do cntry='South Africa';end; if cntry='St Helena' then do cntry='St. Helena';end; if cntry='St Chr-Nevis' then do cntry='St. Kitts & Nevis';end; if cntry='St Lucia' then do cntry='St. Lucia';end; if cntry='St Vincent' then do cntry='St. Vincent & Grenadines';end; if cntry='Trindad & Tbgo' then do cntry='Trinidad & Tobago';end; if cntry='U.Arab Emir' then do cntry='United Arab Emirates';end; if cntry='UK' then do cntry='United Kingdom';end; if cntry='W. Samoa' then do cntry='Samoa';end; if cntry='Rep Of Yemen' then do cntry='Yemen';end; if cntry='Yugoslavia' then do cntry='Yugoslavia (old)';end; if cntry='Turkmenstn' then do cntry='Turkmenistan';end; if cntry='Switzerld' then do cntry='Switzerland';end; if cntry='Sierra Leo' then do cntry='Sierra Leone';end; if cntry='Burkina' then do cntry='Burkina Faso';end; if cntry='S.T. & Princ' then do cntry='Sao Tome & Principe';end; if cntry='Antigua' then do cntry='Antigua & Barbuda';end; if cntry='New Caledona' then do cntry='New Caledonia';end; if cntry='Westbank' then do cntry='West Bank';end; if cntry='St Vincent' then do cntry='St. Vincent & Grenadines';end; run; /*IMPORT TEXT FILES WITH EXPORT DATA FROM MISER*/ data miser88; infile 'D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-MISER\ST88OM.txt' dlm=tab; input name $ totalvalue airvalue airwgt vesvalue convesvalue veswgt conveswgt; date=1988; run; data miser89; infile 'D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-MISER\ST89OM.txt' dlm=tab; input name $ totalvalue airvalue airwgt vesvalue convesvalue veswgt conveswgt; date=1989; run; data miser90; infile 'D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-MISER\ST90OM.txt' dlm=tab; input name $ totalvalue airvalue airwgt vesvalue convesvalue veswgt conveswgt; date=1990; run; data miser91; infile 'D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-MISER\ST91OM.txt' dlm=tab; input name $ totalvalue airvalue airwgt vesvalue convesvalue veswgt conveswgt; date=1991; run; data miser92; infile 'D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-MISER\ST92OM.txt' dlm=tab; input name $ totalvalue airvalue airwgt vesvalue convesvalue veswgt conveswgt; date=1992; run; data miser93; infile 'D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-MISER\ST93OM.txt' dlm=tab; input name $ totalvalue airvalue airwgt vesvalue convesvalue veswgt conveswgt; date=1993; run; data miser94; infile 'D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-MISER\ST94OM.txt' dlm=tab; input name $ totalvalue airvalue airwgt vesvalue convesvalue veswgt conveswgt; date=1994; run; data miser95; infile 'D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-MISER\ST95OM.txt' dlm=tab; input name $ totalvalue airvalue airwgt vesvalue convesvalue veswgt conveswgt; date=1995; run; /*COMBINE MISER FILES INTO ONE SAS DATASET*/ data miser88_95 (keep=state sic country totalvalue date); set miser88 miser89 miser90 miser91 miser92 miser93 miser94 miser95; state=substr(name,1,2); sic=substr(name,3,2); country=substr(name,5,4); run; /*IMPORT TEXT FILES WITH EXPORT DATA FROM MISER*/ data miser96; infile 'D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-MISER\ST96OM.txt' dlm=","; input fstate $ fsic $ fcountry $ totalvalue; date=1996; run; data miser97; infile 'D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-MISER\ST97OM.txt' dlm=","; input fstate $ fsic $ fcountry $ totalvalue; date=1997; run; data miser98; infile 'D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-MISER\ST98OM.txt' dlm=","; input fstate $ fsic $ fcountry $ totalvalue; date=1998; run; data miser99; infile 'DD:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-MISER\ST99OM.dat'; input state $ sic $ country $ totalvalue; date=1999; run; data miser00; infile 'D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-MISER\ST00OM.dat'; input state $ sic $ country $ totalvalue; date=2000; run; data miser96_98 (keep=state sic country totalvalue date); set miser96 miser97 miser98; state=substr(fstate,2,2); sic=substr(fsic,2,2); country=substr(fcountry,2,4); run; /*COMBINE ALL MISER FILES (1988-2000) INTO ONE SAS DATASET*/ data miserexports; set miser88_95 miser96_98 miser99 miser00; run; proc sort data=miserexports; by state date country sic; run; /*SUM EXPORTS VALUE ACROSS ALL SIC INDUSTRIES TO YIELD ONE EXPORTS VALUE PER STATE, PER COUNTRY IN EACH YEAR*/ proc univariate data=miserexports noprint; by state date country; var totalvalue; output out=miserexports_b sum=sumvalue; run; /*EXPRESS TOTAL EXPORTS IN THOUSANDS OF DOLLARS*/ data miserexports_c; set miserexports_b; totalexports=sumvalue/1000; run; /*OMITTED CNTRY CODES: 8220 (UNIDENTIFIED COUNTRIES); 8500 (INTERNATIONAL ORGANIZATIONS; 8990 ( SPECIAL CATEGORY EXPORTS); AND 9000 (PUERTO RICE EXPORTS TO THE US)*/ data miserexports_e (keep=state date cntry totalexports); set miserexports_c; where country not in ('8220','8500','8990','9000'); format cntry $ 24.; if country=1010 then do cntry='Greenland';end; if country=1220 then do cntry='Canada';end; if country=1610 then do cntry='St. Pierre & Miquelon';end; if country=2010 then do cntry='Mexico';end; if country=2050 then do cntry='Guatemala';end; if country=2080 then do cntry='Belize';end; if country=2110 then do cntry='El Salvador';end; if country=2150 then do cntry='Honduras';end; if country=2190 then do cntry='Nicaragua';end; if country=2230 then do cntry='Costa Rica';end; if country=2250 then do cntry='Panama';end; if country=2320 then do cntry='Bermuda';end; if country=2360 then do cntry='The Bahamas';end; if country=2390 then do cntry='Cuba';end; if country=2410 then do cntry='Jamaica';end; if country=2430 then do cntry='Turks & Caicos Is.';end; if country=2440 then do cntry='Cayman Is.';end; if country=2450 then do cntry='Haiti';end; if country=2470 then do cntry='Dominican Republic';end; if country=2481 then do cntry='Anguilla';end; if country=2482 then do cntry='British Virgin Is.';end; if country=2483 then do cntry='St. Kitts & Nevis';end; if country=2484 then do cntry='Antigua & Barbuda';end; if country=2485 then do cntry='Montserrat';end; if country=2486 then do cntry='Dominica';end; if country=2487 then do cntry='St. Lucia';end; if country=2488 then do cntry='St. Vincent & Grenadines';end; if country=2489 then do cntry='Grenada';end; if country=2720 then do cntry='Barbados';end; if country=2740 then do cntry='Trinidad & Tobago';end; if country=2771 then do cntry='Netherlands Antilles';end; if country=2779 then do cntry='Aruba';end; if country=2831 then do cntry='Guadeloupe';end; if country=2839 then do cntry='Martinique';end; if country=3010 then do cntry='Colombia';end; if country=3070 then do cntry='Venezuela';end; if country=3120 then do cntry='Guyana';end; if country=3150 then do cntry='Suriname';end; if country=3170 then do cntry='French Guiana';end; if country=3310 then do cntry='Ecuador';end; if country=3330 then do cntry='Peru';end; if country=3350 then do cntry='Bolivia';end; if country=3370 then do cntry='Chile';end; if country=3510 then do cntry='Brazil';end; if country=3530 then do cntry='Paraguay';end; if country=3550 then do cntry='Uruguay';end; if country=3570 then do cntry='Argentina';end; if country=3720 then do cntry='Falkland Is.';end; if country=4000 then do cntry='Iceland';end; if country=4010 then do cntry='Sweden';end; if country=4031 then do cntry='Svalbard';end; if country=4039 then do cntry='Norway';end; if country=4050 then do cntry='Finland';end; if country=4091 then do cntry='Faroe Is.';end; if country=4099 then do cntry='Denmark';end; if country=4120 then do cntry='United Kingdom';end; if country=4190 then do cntry='Ireland';end; if country=4210 then do cntry='Netherlands';end; if country=4231 then do cntry='Belgium';end; if country=4239 then do cntry='Luxembourg';end; if country=4271 then do cntry='Andorra';end; if country=4272 then do cntry='Monaco';end; if country=4279 then do cntry='France';end; if country=4280 then do cntry='Germany';end; if country=4290 then do cntry='East Germany';end; if country=4330 then do cntry='Austria';end; if country=4350 then do cntry='Czechoslovakia';end; if country=4351 then do cntry='Czech Republic';end; if country=4359 then do cntry='Slovakia';end; if country=4370 then do cntry='Hungary';end; if country=4411 then do cntry='Liechtenstein';end; if country=4419 then do cntry='Switzerland';end; if country=4470 then do cntry='Estonia';end; if country=4490 then do cntry='Latvia';end; if country=4510 then do cntry='Lithuania';end; if country=4550 then do cntry='Poland';end; if country=4610 then do cntry='Russia';end; if country=4621 then do cntry='Russia';end; if country=4622 then do cntry='Belarus';end; if country=4623 then do cntry='Ukraine';end; if country=4631 then do cntry='Armenia';end; if country=4632 then do cntry='Azerbaijan';end; if country=4633 then do cntry='Georgia';end; if country=4634 then do cntry='Kazakhstan';end; if country=4635 then do cntry='Kyrgyzstan';end; if country=4641 then do cntry='Moldova';end; if country=4642 then do cntry='Tajikistan';end; if country=4643 then do cntry='Turkmenistan';end; if country=4644 then do cntry='Uzbekistan';end; if country=4700 then do cntry='Spain';end; if country=4710 then do cntry='Portugal';end; if country=4720 then do cntry='Gibraltar';end; if country=4730 then do cntry='Malta';end; if country=4751 then do cntry='San Marino';end; if country=4752 then do cntry='Vatican City';end; if country=4759 then do cntry='Italy';end; if country=4790 then do cntry='Yugoslavia (old)';end; if country=4791 then do cntry='Croatia';end; if country=4792 then do cntry='Slovenia';end; if country=4793 then do cntry='Bosnia & Herzegovina';end; if country=4794 then do cntry='Macedonia';end; if country=4799 then do cntry='Serbia';end; if country=4810 then do cntry='Albania';end; if country=4840 then do cntry='Greece';end; if country=4850 then do cntry='Romania';end; if country=4870 then do cntry='Bulgaria';end; if country=4890 then do cntry='Turkey';end; if country=4910 then do cntry='Cyprus';end; if country=5020 then do cntry='Syria';end; if country=5040 then do cntry='Lebanon';end; if country=5050 then do cntry='Iraq';end; if country=5070 then do cntry='Iran';end; if country=5080 then do cntry='Israel (old)';end; if country=5081 then do cntry='Israel';end; if country=5082 then do cntry='Gaza';end; if country=5083 then do cntry='West Bank';end; if country=5110 then do cntry='Jordan';end; if country=5130 then do cntry='Kuwait';end; if country=5160 then do cntry='Iraq';end; if country=5170 then do cntry='Saudi Arabia';end; if country=5180 then do cntry='Qatar';end; if country=5200 then do cntry='United Arab Emirates';end; if country in (5210, 5220) then do cntry='Yemen';end; if country=5230 then do cntry='Oman';end; if country=5250 then do cntry='Bahrain';end; if country=5310 then do cntry='Afghanistan';end; if country=5330 then do cntry='India';end; if country=5350 then do cntry='Pakistan';end; if country=5360 then do cntry='Nepal';end; if country=5380 then do cntry='Bangladesh';end; if country=5420 then do cntry='Sri Lanka';end; if country=5460 then do cntry='Burma';end; if country=5490 then do cntry='Thailand';end; if country=5520 then do cntry='Vietnam';end; if country=5530 then do cntry='Laos';end; if country=5550 then do cntry='Cambodia';end; if country=5570 then do cntry='Malaysia';end; if country=5590 then do cntry='Singapore';end; if country=5600 then do cntry='Indonesia';end; if country=5610 then do cntry='Brunei';end; if country=5650 then do cntry='Philippines';end; if country=5660 then do cntry='Macao';end; if country=5682 then do cntry='Bhutan';end; if country=5683 then do cntry='Maldive Islands';end; if country=5700 then do cntry='China';end; if country=5740 then do cntry='Mongolia';end; if country=5790 then do cntry='North Korea';end; if country=5800 then do cntry='South Korea';end; if country=5820 then do cntry='Hong Kong';end; if country=5830 then do cntry='Taiwan';end; if country=5880 then do cntry='Japan';end; if country=6021 then do cntry='Australia';end; if country=6022 then do cntry='Norfolk I.';end; if country=6023 then do cntry='Cocos Is.';end; if country=6024 then do cntry='Christmas I.';end; if country=6029 then do cntry='Heard and McDonald Is.';end; if country=6040 then do cntry='Papua New Guinea';end; if country=6141 then do cntry='New Zealand';end; if country=6142 then do cntry='Cook Is.';end; if country=6143 then do cntry='Tokelau Islands';end; if country=6144 then do cntry='Niue';end; if country=6150 then do cntry='Samoa';end; if country=6223 then do cntry='Solomon Is.';end; if country=6224 then do cntry='Vanuatu';end; if country=6225 then do cntry='Pitcairn Is.';end; if country=6226 then do cntry='Kiribati';end; if country=6227 then do cntry='Tuvalu';end; if country=6412 then do cntry='New Caledonia';end; if country=6413 then do cntry='Wallis & Futuna';end; if country=6414 then do cntry='French Polynesia';end; if country=6810 then do cntry='Marshall Is.';end; if country=6820 then do cntry='Micronesia';end; if country=6830 then do cntry='Palau';end; if country=6862 then do cntry='Nauru';end; if country=6863 then do cntry='Fiji';end; if country=6864 then do cntry='Tonga';end; if country=7140 then do cntry='Morocco';end; if country=7210 then do cntry='Algeria';end; if country=7230 then do cntry='Tunisia';end; if country=7250 then do cntry='Libya';end; if country=7290 then do cntry='Egypt';end; if country=7320 then do cntry='Sudan';end; if country=7370 then do cntry='Western Sahara';end; if country=7380 then do cntry='Equatorial Guinea';end; if country=7410 then do cntry='Mauritania';end; if country=7420 then do cntry='Cameroon';end; if country=7440 then do cntry='Senegal';end; if country=7450 then do cntry='Mali';end; if country=7460 then do cntry='Guinea';end; if country=7470 then do cntry='Sierra Leone';end; if country=7480 then do cntry="Cote d'Ivory";end; if country=7490 then do cntry='Ghana';end; if country=7500 then do cntry='The Gambia';end; if country=7510 then do cntry='Niger';end; if country=7520 then do cntry='Togo';end; if country=7530 then do cntry='Nigeria';end; if country=7540 then do cntry='Central African Rep';end; if country=7550 then do cntry='Gabon';end; if country=7560 then do cntry='Chad';end; if country=7580 then do cntry='St. Helena';end; if country=7600 then do cntry='Burkina Faso';end; if country=7610 then do cntry='Benin';end; if country=7620 then do cntry='Angola';end; if country=7630 then do cntry='Congo';end; if country=7642 then do cntry='Guinea-Bissau';end; if country=7643 then do cntry='Cape Verde';end; if country=7644 then do cntry='Sao Tome & Principe';end; if country=7650 then do cntry='Liberia';end; if country=7660 then do cntry='Zaire';end; if country=7670 then do cntry='Burundi';end; if country=7690 then do cntry='Rwanda';end; if country=7700 then do cntry='Somalia';end; if country=7740 then do cntry='Ethiopia';end; if country=7741 then do cntry='Eritrea';end; if country=7749 then do cntry='Ethiopia';end; if country=7770 then do cntry='Djibouti';end; if country=7780 then do cntry='Uganda';end; if country=7790 then do cntry='Kenya';end; if country=7800 then do cntry='Seychelles';end; if country=7810 then do cntry='British Indian Ocean Terr.';end; if country=7830 then do cntry='Tanzania';end; if country=7850 then do cntry='Mauritius';end; if country=7870 then do cntry='Mozambique';end; if country=7880 then do cntry='Madagascar';end; if country=7890 then do cntry='Comoros';end; if country=7904 then do cntry='Reunion';end; if country=7905 then do cntry='Fr. Sthern., Antartic Lands';end; if country=7910 then do cntry='South Africa';end; if country=7920 then do cntry='Namibia';end; if country=7930 then do cntry='Botswana';end; if country=7940 then do cntry='Zambia';end; if country=7950 then do cntry='Swaziland';end; if country=7960 then do cntry='Zimbabwe';end; if country=7970 then do cntry='Malawi';end; if country=7990 then do cntry='Lesotho';end; run; /*COMBINE MISER AND HAVER DATASETS INTO ONE SAS DATASET CONTAINING ALL EXPORTS DATA FOR ALL YEARS*/ data exports; set miserexports_e haverexports_b; run; proc sort data=exports; by descending totalexports state date; run; proc sort data=exports; by descending state date; run; /*CREATE VARIABLE COUNT TO USE LATER TO CREATE TOP 50 AND TOP 30 EXPORT MARKETS DATASETS*/ data exports_b; set exports; by descending state date; if first.date then count=0; count+1; run; proc sort data=exports_b; by state date count; run; data perm.exports; set exports_b; format totalexports comma12.; where state not in ('VI' 'PR'); title 'Total Exports from All States to All Countries, Thous. $'; run; /****************************************************************************************/ /****************************************************************************************/ /****************************************************************************************/ /*IMPORT DATABASE FILE WITH DISTANCES BETWEEN STATE'S ECONOMIC CENTERS AND COUNTRIES' ECONOMIC CENTERS*/ proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\Mobile_join.dbf' dbms=dbf out=dist replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\Anchorage_join.dbf' dbms=dbf out=dist2 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\Phoenix_join.dbf' dbms=dbf out=dist3 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\LR_join.dbf' dbms=dbf out=dist4 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\Los_Angeles_join.dbf' dbms=dbf out=dist5 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\Denver_join.dbf' dbms=dbf out=dist6 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\Hartford_join.dbf' dbms=dbf out=dist7 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\Dover_join.dbf' dbms=dbf out=dist8 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\DC_join.dbf' dbms=dbf out=dist9 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\Miami_join.dbf' dbms=dbf out=dist10 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\Atlanta_join.dbf' dbms=dbf out=dist11 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\Honolulu_join.dbf' dbms=dbf out=dist12 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\Boise_join.dbf' dbms=dbf out=dist13 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\Chigaco_join.dbf' dbms=dbf out=dist14 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\Indianapolis_join.dbf' dbms=dbf out=dist15 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\Des_Moines_join.dbf' dbms=dbf out=dist16 replace;run; proc import datafile='D:\CLETUS COUGHLIN\NOV-DEC REVIEW\PRE-FRED\RAW DATA FILES-DISTANCES\Kansas_City_join.dbf' dbms=dbf out=dist17 replace;run; proc import datafile='D:\CLETUS COUGHLIN\NOV-DEC REVIEW\PRE-FRED\RAW DATA FILES-DISTANCES\Frankfort_join.dbf' dbms=dbf out=dist18 replace;run; proc import datafile='D:\CLETUS COUGHLIN\NOV-DEC REVIEW\PRE-FRED\RAW DATA FILES-DISTANCES\New_Orleans_join.dbf' dbms=dbf out=dist19 replace;run; proc import datafile='D:\CLETUS COUGHLIN\NOV-DEC REVIEW\PRE-FRED\RAW DATA FILES-DISTANCES\Augusta_join.dbf' dbms=dbf out=dist20 replace;run; proc import datafile='D:\CLETUS COUGHLIN\NOV-DEC REVIEW\PRE-FRED\RAW DATA FILES-DISTANCES\Baltimore_join.dbf' dbms=dbf out=dist21 replace;run; proc import datafile='D:\CLETUS COUGHLIN\NOV-DEC REVIEW\PRE-FRED\RAW DATA FILES-DISTANCES\Boston_join.dbf' dbms=dbf out=dist22 replace;run; proc import datafile='D:\CLETUS COUGHLIN\NOV-DEC REVIEW\PRE-FRED\RAW DATA FILES-DISTANCES\Detroit_join.dbf' dbms=dbf out=dist23 replace;run; proc import datafile='D:\CLETUS COUGHLIN\NOV-DEC REVIEW\PRE-FRED\RAW DATA FILES-DISTANCES\Minneapolis_join.dbf' dbms=dbf out=dist24 replace;run; proc import datafile='D:\CLETUS COUGHLIN\NOV-DEC REVIEW\PRE-FRED\RAW DATA FILES-DISTANCES\Jackson_join.dbf' dbms=dbf out=dist25 replace;run; proc import datafile='D:\CLETUS COUGHLIN\NOV-DEC REVIEW\PRE-FRED\RAW DATA FILES-DISTANCES\St_Louis_join.dbf' dbms=dbf out=dist26 replace;run; proc import datafile='D:\CLETUS COUGHLIN\NOV-DEC REVIEW\PRE-FRED\RAW DATA FILES-DISTANCES\Helena_join.dbf' dbms=dbf out=dist27 replace;run; proc import datafile='D:\CLETUS COUGHLIN\NOV-DEC REVIEW\PRE-FRED\RAW DATA FILES-DISTANCES\Lincoln_join.dbf' dbms=dbf out=dist28 replace;run; proc import datafile='D:\CLETUS COUGHLIN\NOV-DEC REVIEW\PRE-FRED\RAW DATA FILES-DISTANCES\Carson_City_join.dbf' dbms=dbf out=dist29 replace;run; proc import datafile='D:\CLETUS COUGHLIN\NOV-DEC REVIEW\PRE-FRED\RAW DATA FILES-DISTANCES\Concord_join.dbf' dbms=dbf out=dist30 replace;run; proc import datafile='D:\CLETUS COUGHLIN\NOV-DEC REVIEW\PRE-FRED\RAW DATA FILES-DISTANCES\Newark_join.dbf' dbms=dbf out=dist31 replace;run; proc import datafile='D:\CLETUS COUGHLIN\NOV-DEC REVIEW\PRE-FRED\RAW DATA FILES-DISTANCES\Santa_Fe_join.dbf' dbms=dbf out=dist32 replace;run; proc import datafile='D:\CLETUS COUGHLIN\NOV-DEC REVIEW\PRE-FRED\RAW DATA FILES-DISTANCES\New_York_join.dbf' dbms=dbf out=dist33 replace;run; proc import datafile='D:\CLETUS COUGHLIN\NOV-DEC REVIEW\PRE-FRED\RAW DATA FILES-DISTANCES\Charlotte_join.dbf' dbms=dbf out=dist34 replace;run; proc import datafile='D:\CLETUS COUGHLIN\NOV-DEC REVIEW\PRE-FRED\RAW DATA FILES-DISTANCES\Bismark_join.dbf' dbms=dbf out=dist35 replace;run; proc import datafile='D:\CLETUS COUGHLIN\NOV-DEC REVIEW\PRE-FRED\RAW DATA FILES-DISTANCES\Cleveland_join.dbf' dbms=dbf out=dist36 replace;run; proc import datafile='D:\CLETUS COUGHLIN\NOV-DEC REVIEW\PRE-FRED\RAW DATA FILES-DISTANCES\Oklahoma_City_join.dbf' dbms=dbf out=dist37 replace;run; proc import datafile='D:\CLETUS COUGHLIN\NOV-DEC REVIEW\PRE-FRED\RAW DATA FILES-DISTANCES\Portland_join.dbf' dbms=dbf out=dist38 replace;run; proc import datafile='D:\CLETUS COUGHLIN\NOV-DEC REVIEW\PRE-FRED\RAW DATA FILES-DISTANCES\Philadelphia_join.dbf' dbms=dbf out=dist39 replace;run; proc import datafile='D:\CLETUS COUGHLIN\NOV-DEC REVIEW\PRE-FRED\RAW DATA FILES-DISTANCES\Providence_join.dbf' dbms=dbf out=dist40 replace;run; proc import datafile='D:\CLETUS COUGHLIN\NOV-DEC REVIEW\PRE-FRED\RAW DATA FILES-DISTANCES\Columbia_join.dbf' dbms=dbf out=dist41 replace;run; proc import datafile='D:\CLETUS COUGHLIN\NOV-DEC REVIEW\PRE-FRED\RAW DATA FILES-DISTANCES\Pierre_join.dbf' dbms=dbf out=dist42 replace;run; proc import datafile='D:\CLETUS COUGHLIN\NOV-DEC REVIEW\PRE-FRED\RAW DATA FILES-DISTANCES\Memphis_join.dbf' dbms=dbf out=dist43 replace;run; proc import datafile='D:\CLETUS COUGHLIN\NOV-DEC REVIEW\PRE-FRED\RAW DATA FILES-DISTANCES\Dallas_join.dbf' dbms=dbf out=dist44 replace;run; proc import datafile='D:\CLETUS COUGHLIN\NOV-DEC REVIEW\PRE-FRED\RAW DATA FILES-DISTANCES\Salt_Lake_City_join.dbf' dbms=dbf out=dist45 replace;run; proc import datafile='D:\CLETUS COUGHLIN\NOV-DEC REVIEW\PRE-FRED\RAW DATA FILES-DISTANCES\Montepelier_join.dbf' dbms=dbf out=dist46 replace;run; proc import datafile='D:\CLETUS COUGHLIN\NOV-DEC REVIEW\PRE-FRED\RAW DATA FILES-DISTANCES\Norfolk_join.dbf' dbms=dbf out=dist47 replace;run; proc import datafile='D:\CLETUS COUGHLIN\NOV-DEC REVIEW\PRE-FRED\RAW DATA FILES-DISTANCES\Seattle_join.dbf' dbms=dbf out=dist48 replace;run; proc import datafile='D:\CLETUS COUGHLIN\NOV-DEC REVIEW\PRE-FRED\RAW DATA FILES-DISTANCES\Charleston_join.dbf' dbms=dbf out=dist49 replace;run; proc import datafile='D:\CLETUS COUGHLIN\NOV-DEC REVIEW\PRE-FRED\RAW DATA FILES-DISTANCES\Milwaukee_join.dbf' dbms=dbf out=dist50 replace;run; proc import datafile='D:\CLETUS COUGHLIN\NOV-DEC REVIEW\PRE-FRED\RAW DATA FILES-DISTANCES\Cheyenne_join.dbf' dbms=dbf out=dist51 replace;run; /*THE MAJORITY OF STATE-COUNTRY DISTANCE FIGURES WERE CREATED FROM ARCVIEW'S 2002 DATASET (ABOVE) WHICH EXCLUDED SOME COUNTRIES THAT NOT LONGER EXISTED. DISTANCES TO THESE COUNTRIES ARE DERIVED BELOW, FROM ARCVIEW'S 1992 DATASET.*/ proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\Mobile_join.dbf' dbms=dbf out=dist_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\Anchorage_join.dbf' dbms=dbf out=dist2_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\Phoenix_join.dbf' dbms=dbf out=dist3_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\LR_join.dbf' dbms=dbf out=dist4_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\LA_join.dbf' dbms=dbf out=dist5_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\Denver_join.dbf' dbms=dbf out=dist6_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\Hartford_join.dbf' dbms=dbf out=dist7_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\Dover_join.dbf' dbms=dbf out=dist8_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\DC_join.dbf' dbms=dbf out=dist9_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\Miami_join.dbf' dbms=dbf out=dist10_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\Atlanta_join.dbf' dbms=dbf out=dist11_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\Honolulu_join.dbf' dbms=dbf out=dist12_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\Boise_join.dbf' dbms=dbf out=dist13_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\Chicago_join.dbf' dbms=dbf out=dist14_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\Indianapolis_join.dbf' dbms=dbf out=dist15_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\Des_Moines_join.dbf' dbms=dbf out=dist16_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\Kansas_City_join.dbf' dbms=dbf out=dist17_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\Frankfort_join.dbf' dbms=dbf out=dist18_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\New_Orleans_join.dbf' dbms=dbf out=dist19_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\Augusta_join.dbf' dbms=dbf out=dist20_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\Baltimore_join.dbf' dbms=dbf out=dist21_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\Boston_join.dbf' dbms=dbf out=dist22_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\Detroit_join.dbf' dbms=dbf out=dist23_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\Minneapolis_join.dbf' dbms=dbf out=dist24_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\Jackson_join.dbf' dbms=dbf out=dist25_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\St_Louis_join.dbf' dbms=dbf out=dist26_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\Helena_join.dbf' dbms=dbf out=dist27_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\Lincoln_join.dbf' dbms=dbf out=dist28_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\Carson_City_join.dbf' dbms=dbf out=dist29_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\Concord_join.dbf' dbms=dbf out=dist30_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\Newark_join.dbf' dbms=dbf out=dist31_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\Santa_Fe_join.dbf' dbms=dbf out=dist32_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\NY_joint.dbf' dbms=dbf out=dist33_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\Charlotte_join.dbf' dbms=dbf out=dist34_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\Bismarck_join.dbf' dbms=dbf out=dist35_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\Cleveland_join.dbf' dbms=dbf out=dist36_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\OK_City_join.dbf' dbms=dbf out=dist37_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\Portland_join.dbf' dbms=dbf out=dist38_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\Phili_join.dbf' dbms=dbf out=dist39_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\Providence_join.dbf' dbms=dbf out=dist40_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\Columbia_join.dbf' dbms=dbf out=dist41_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\Pierre_join.dbf' dbms=dbf out=dist42_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\Memphis_join.dbf' dbms=dbf out=dist43_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\Dallas_join.dbf' dbms=dbf out=dist44_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\Salt_Lake_join.dbf' dbms=dbf out=dist45_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\Montpelier_join.dbf' dbms=dbf out=dist46_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\Norfolk_join.dbf' dbms=dbf out=dist47_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\Seattle_join.dbf' dbms=dbf out=dist48_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\Chrleston_join.dbf' dbms=dbf out=dist49_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\Milwaukee_join.dbf' dbms=dbf out=dist50_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\Cheyenne_join.dbf' dbms=dbf out=dist51_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\92 countries\us-moscow.dbf' dbms=dbf out=moscow replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\Mobile_join.dbf' dbms=dbf out=dist_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\Anchorage_join.dbf' dbms=dbf out=dist2_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\Phoenix_join.dbf' dbms=dbf out=dist3_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\LR_join.dbf' dbms=dbf out=dist4_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\LA_join.dbf' dbms=dbf out=dist5_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\Denver_join.dbf' dbms=dbf out=dist6_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\Hartford_join.dbf' dbms=dbf out=dist7_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\Dover_join.dbf' dbms=dbf out=dist8_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\DC_join.dbf' dbms=dbf out=dist9_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\Miami_join.dbf' dbms=dbf out=dist10_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\Atlanta_join.dbf' dbms=dbf out=dist11_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\Honolulu_join.dbf' dbms=dbf out=dist12_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\Boise_join.dbf' dbms=dbf out=dist13_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\Chicago_join.dbf' dbms=dbf out=dist14_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\Indianapolis_join.dbf' dbms=dbf out=dist15_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\Des_Moines_join.dbf' dbms=dbf out=dist16_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\Kansas_City_join.dbf' dbms=dbf out=dist17_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\Frankfort_join.dbf' dbms=dbf out=dist18_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\New_Orleans_join.dbf' dbms=dbf out=dist19_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\Augusta_join.dbf' dbms=dbf out=dist20_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\Baltimore_join.dbf' dbms=dbf out=dist21_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\Boston_join.dbf' dbms=dbf out=dist22_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\Detroit_join.dbf' dbms=dbf out=dist23_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\Minneapolis_join.dbf' dbms=dbf out=dist24_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\Jackson_join.dbf' dbms=dbf out=dist25_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\St._Louis_join.dbf' dbms=dbf out=dist26_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\Helena_join.dbf' dbms=dbf out=dist27_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\Carson_City_join.dbf' dbms=dbf out=dist29_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\Lincoln_join.dbf' dbms=dbf out=dist28_92 replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\Concord_join.dbf' dbms=dbf out=dist30_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\Newark_join.dbf' dbms=dbf out=dist31_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\Santa_Fe_join.dbf' dbms=dbf out=dist32_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\NY_join.dbf' dbms=dbf out=dist33_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\Charlotte_join.dbf' dbms=dbf out=dist34_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\Bismarck_join.dbf' dbms=dbf out=dist35_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\Cleveland_join.dbf' dbms=dbf out=dist36_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\OK_City_join.dbf' dbms=dbf out=dist37_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\Portland_join.dbf' dbms=dbf out=dist38_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\Philadelphia_join.dbf' dbms=dbf out=dist39_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\Providence_join.dbf' dbms=dbf out=dist40_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\Columbia_join.dbf' dbms=dbf out=dist41_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\Pierre_join.dbf' dbms=dbf out=dist42_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\Memphis_join.dbf' dbms=dbf out=dist43_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\Dallas_join.dbf' dbms=dbf out=dist44_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\Salt_Lake_join.dbf' dbms=dbf out=dist45_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\Montpelier_join.dbf' dbms=dbf out=dist46_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\Norfolk_join.dbf' dbms=dbf out=dist47_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\Seattle_join.dbf' dbms=dbf out=dist48_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\Charleston_join.dbf' dbms=dbf out=dist49_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\Milwaukee_join.dbf' dbms=dbf out=dist50_STVCAR replace;run; proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\RAW DATA FILES-DISTANCES\St. Vincent and CAR\Cheyenne_join.dbf' dbms=dbf out=dist51_STVCAR replace;run; /*CREATE ONE DATASET WITH ALL DISTANCES FROM ARCVIEW'S 2002 DATA FILES*/ data distances_02 (keep=city POP_RANK country CITY_NAME dist); format country $ 24. dist comma8.; set dist dist2 dist3 dist4 dist5 dist6 dist7 dist8 dist9 dist10 dist11 dist12 dist13 dist14 dist15 dist16 dist17 dist18 dist19 dist20 dist21 dist22 dist23 dist24 dist25 dist26 dist27 dist28 dist29 dist30 dist31 dist32 dist33 dist34 dist35 dist36 dist37 dist38 dist39 dist40 dist41 dist42 dist43 dist44 dist45 dist46 dist47 dist48 dist49 dist50 dist51; city=CITY_NAM_1; country=CNTRY_NAME; dist=Distance*51.483; run; proc sort data=distances_02; by city country pop_rank; run; /*FIND EACH COUNTRY'S MAJOR ECONOMIC CENTER, CALCULATED BASED ON POPULATION RANK*/ data distances_02b; set distances_02; by city country pop_rank; if first.country then biggest=1; run; data distances_02c (keep=city country dist); set distances_02b; where biggest=1; run; /*CREATE ONE DATASET WITH ALL DISTANCES FROM ARCVIEW'S 1992 DATA FILES*/ data distances_92 (keep=dist city country); format country $ 24. dist comma8.; set dist_92 dist2_92 dist3_92 dist4_92 dist5_92 dist6_92 dist7_92 dist8_92 dist9_92 dist10_92 dist11_92 dist12_92 dist13_92 dist14_92 dist15_92 dist16_92 dist17_92 dist18_92 dist19_92 dist20_92 dist21_92 dist22_92 dist23_92 dist24_92 dist25_92 dist26_92 dist27_92 dist28_92 dist29_92 dist30_92 dist31_92 dist32_92 dist33_92 dist34_92 dist35_92 dist36_92 dist37_92 dist38_92 dist39_92 dist40_92 dist41_92 dist42_92 dist43_92 dist44_92 dist45_92 dist46_92 dist47_92 dist48_92 dist49_92 dist50_92 dist51_92 dist_STVCAR dist2_STVCAR dist3_STVCAR dist4_STVCAR dist5_STVCAR dist6_STVCAR dist7_STVCAR dist8_STVCAR dist9_STVCAR dist10_STVCAR dist11_STVCAR dist12_STVCAR dist13_STVCAR dist14_STVCAR dist15_STVCAR dist16_STVCAR dist17_STVCAR dist18_STVCAR dist19_STVCAR dist20_STVCAR dist21_STVCAR dist22_STVCAR dist23_STVCAR dist24_STVCAR dist25_STVCAR dist26_STVCAR dist27_STVCAR dist29_STVCAR dist30_STVCAR dist31_STVCAR dist32_STVCAR dist33_STVCAR dist34_STVCAR dist35_STVCAR dist36_STVCAR dist37_STVCAR dist38_STVCAR dist39_STVCAR dist40_STVCAR dist41_STVCAR dist42_STVCAR dist43_STVCAR dist44_STVCAR dist45_STVCAR dist46_STVCAR dist47_STVCAR dist48_STVCAR dist49_STVCAR dist50_STVCAR dist51_STVCAR; where CNTRY_NAME not='Soviet Union'; city=CITY_NAME; country=CNTRY_NAME; dist=Distance*51.483; if country='Germany' then do country='East Germany';end; run; data distance_moscow (keep=dist city country); format country $ 24. dist comma8.; set moscow; city=CITY_NAME; country='Soviet Union'; dist=Distance*51.483; run; /*CREATE A SINGLE DATASET CONTAINING ALL DISTANCE DATA FOR ALL STATES, COUNTRIES, AND YEARS*/ data distances; set distances_02c distances_92 distance_moscow; run; proc sort data=distances; by city country dist; run; /*ENSURE THAT ALL COUNTRIES ARE REFERRED TO IN THE SAME WAY*/ data distances_b; set distances; format cntry $ 24.; if country='Congo, DRC' then do country='Republic of Congo';end; if country='St. Pierre & Miquelo' then do country='St. Pierre & Miquelon';end; if country='Macau' then do country='Macao';end; if country='Heard I. & McDonald Is.' then do country='Heard and McDonald Is.';end; if country='Tokelau' then do country='Tokelau Islands';end; if country='British Indian Ocean Territory' then do country='British Indian Ocean Terr.';end; if country='Yugoslavia' then do country='Yugoslavia (old)';end; if country='Maldives' then do country='Maldive Islands';end; if country='Gaza Strip' then do country='Gaza';end; if country='Central African Republic' then do country='Central African Rep';end; if country='St. Vincent & the Grenad' then do country='St. Vincent & Grenadines';end; cntry=country; run; /*CREATE THE STATE VARIABLE BASED ON THE MAJOR ECONOMIC CENTER NAME*/ data perm.distances (keep=state cntry dist); set distances_b; if city="Mobile" then do state="AL";end; if city="Anchorage" then do state="AK";end; if city="Phoenix" then do state="AZ";end; if city="Little Rock" then do state="AR";end; if city="Los Angeles" then do state="CA";end; if city="Denver" then do state="CO";end; if city="Hartford" then do state="CT";end; if city="Dover" then do state="DE";end; if city="Washington D.C." then do state="DC";end; if city="Miami" then do state="FL";end; if city="Atlanta" then do state="GA";end; if city="Honolulu" then do state="HI";end; if city="Boise" then do state="ID";end; if city="Chicago" then do state="IL";end; if city="Indianapolis" then do state="IN";end; if city="Des Moines" then do state="IA";end; if city="Kansas City" then do state="KS";end; if city="Frankfort" then do state="KY";end; if city="New Orleans" then do state="LA";end; if city="Augusta" then do state="ME";end; if city="Baltimore" then do state="MD";end; if city="Boston" then do state="MA";end; if city="Detroit" then do state="MI";end; if city="Minneapolis" then do state="MN";end; if city="Jackson" then do state="MS";end; if city="St. Louis" then do state="MO";end; if city="Helena" then do state="MT";end; if city="Lincoln" then do state="NE";end; if city="Carson City" then do state="NV";end; if city="Concord" then do state="NH";end; if city="Newark" then do state="NJ";end; if city="Santa Fe" then do state="NM";end; if city="New York" then do state="NY";end; if city="Charlotte" then do state="NC";end; if city="Bismarck" then do state="ND";end; if city="Cleveland" then do state="OH";end; if city="Oklahoma City" then do state="OK";end; if city="Portland" then do state="OR";end; if city="Philadelphia" then do state="PA";end; if city="Providence" then do state="RI";end; if city="Columbia" then do state="SC";end; if city="Pierre" then do state="SD";end; if city="Memphis" then do state="TN";end; if city="Dallas" then do state="TX";end; if city="Salt Lake City" then do state="UT";end; if city="Montpelier" then do state="VT";end; if city="Norfolk" then do state="VA";end; if city="Seattle" then do state="WA";end; if city="Charleston" then do state="WV";end; if city="Milwaukee" then do state="WI";end; if city="Cheyenne" then do state="WY";end; run; /****************************************************************************************/ /****************************************************************************************/ /****************************************************************************************/ data distances; length state $ 2.; set perm.distances; run; data exports; length state $ 2.; set perm.exports; run; proc sort data=exports; by cntry state ; run; proc sort data=distances; by cntry state ; run; data distexports; merge exports distances; by cntry state ; run; /*IMPORT GDP DATA SET, FROM WORLD BANK AND UN STATISTICS, MILLIONS US $, NOMINAL*/ proc import datafile='D:\Cletus Coughlin\Nov-Dec Review\pre-FRED\gdp.xls' out=perm.gdp dbms=excel2000 replace;run; /*DEFLATE NOMINAL GDP DATA USING IMPLICIT PRICE DEFLATOR, 2000=100, SET UNITS TO THOUS $*/ data realgdp; set perm.gdp; if date=1987 then do realgdp=(gdp/73.196)*100;end; if date=1988 then do realgdp=(gdp/75.694)*100;end; if date=1989 then do realgdp=(gdp/78.556)*100;end; if date=1990 then do realgdp=(gdp/81.590)*100;end; if date=1991 then do realgdp=(gdp/84.444)*100;end; if date=1992 then do realgdp=(gdp/86.385)*100;end; if date=1993 then do realgdp=(gdp/88.381)*100;end; if date=1994 then do realgdp=(gdp/90.259)*100;end; if date=1995 then do realgdp=(gdp/92.106)*100;end; if date=1996 then do realgdp=(gdp/93.852)*100;end; if date=1997 then do realgdp=(gdp/95.414)*100;end; if date=1998 then do realgdp=(gdp/96.472)*100;end; if date=1999 then do realgdp=(gdp/97.868)*100;end; if date=2000 then do realgdp=(gdp/100)*100;end; if date=2001 then do realgdp=(gdp/102.373)*100;end; if date=2002 then do realgdp=(gdp/103.945)*100;end; realgdp=realgdp*1000; run; proc sort data=realgdp; by cntry date; run; proc sort data=distexports; by cntry date; run; data dot; merge distexports realgdp; by cntry date; run; /*DEFLATE NOMINAL EXPORTS VALUE DATA USING CPI RE-INDEXED SUCH THAT 2000=100*/ data dot_b; set dot; if date=1988 then do realexports=((totalexports/68.7)*100);end; if date=1989 then do realexports=((totalexports/72)*100);end; if date=1990 then do realexports=((totalexports/75.9)*100);end; if date=1991 then do realexports=((totalexports/79.1)*100);end; if date=1992 then do realexports=((totalexports/81.5)*100);end; if date=1993 then do realexports=((totalexports/83.9)*100);end; if date=1994 then do realexports=((totalexports/86.1)*100);end; if date=1995 then do realexports=((totalexports/88.5)*100);end; if date=1996 then do realexports=((totalexports/91.1)*100);end; if date=1997 then do realexports=((totalexports/93.2)*100);end; if date=1998 then do realexports=((totalexports/94.7)*100);end; if date=1999 then do realexports=((totalexports/96.7)*100);end; if date=2000 then do realexports=((totalexports/100)*100);end; if date=2001 then do realexports=((totalexports/102.8)*100);end; if date=2002 then do realexports=((totalexports/104.5)*100);end; run; /*CREATE A FINAL DATA SET OF EACH STATE'S TOP 50 EXPORT MARKETS, 1988-2002*/ data dot_50 (keep=realexports state date cntry dist count); set dot_b; format realexports comma14. realgdp comma14.; where count le 50 and totalexports ne .; run; /*CREATE THE VARIABLE DOT BY MULTILPLYING DISTANCE TIMES EXPORT SHARE, THEN SUMMING ACROSS EACH STATE'S TOP 50 EXPORT MARKETS IN EACH YEAR*/ proc sort data=dot_50; by state date count; run; proc univariate data=dot_50 noprint; by state date; var realexports; output out=worldex sum=worldex; run; data dot_50b; merge dot_50 worldex; by state date; run; data dot_50c; set dot_50b; share_50=realexports/worldex; run; data dot_50d; set dot_50c; idot=share_50*dist; run; proc sort data=dot_50d; by state date; run; proc univariate data=dot_50d noprint; by state date; var idot; output out=sumdot sum=dot; run; proc sort data=sumdot; by state date; run; data perm.dot_50; merge dot_50d sumdot; by state date; run; /*CREATE A FINAL DATA SET OF EACH STATE'S TOP 30 EXPORT MARKETS INCLUDING COUNTRIES ONLY FOR WHICH GDP IS AVAILABLE, 1988-2002*/ data dot_c (drop=count); set dot_b; where cntry not in ('Afghanistan' 'Taiwan' 'Bahrain' 'Bermuda' 'Cayman Is.' 'Czechoslovakia' 'French Guiana' 'French Polynesia' 'Iraq' 'Israel' 'Netherlands Antilles' 'New Caledonia' 'Nicaragua' 'Saudi Arabia' 'Somalia' 'The Bahamas' 'United Arab Emirates' 'Cook Is.' 'Qatar' 'Kuwait' 'Macau' 'Andorra' 'Armenia' 'Aruba' 'Barbados' 'Brunei' 'Christmas I.' 'Croatia' 'Cuba' 'Estonia' 'Georgia' 'Libya' 'Macao' 'Macedonia' 'Malta' 'Falkland Is.' 'Moldova' 'Slovenia' 'Uzbekistan' 'Zaire' 'Soviet Union' 'East Germany' 'Yugoslavia (old)' 'British Virgin Is.' 'Burma' 'Nauru' 'Norfolk I.' 'Cyprus' 'Turkmenistan' 'Ukraine' 'Faroe Is.' 'Bosnia & Herzegovina' 'Anguilla' 'Afghanistan' 'St. Pierre & Miquelon' 'Turks & Caicos Is.' 'North Korea' 'Vatican City' 'Anguilla' 'British Indian Ocean Ter' 'Cocos Is.' 'Gibraltar' 'Greenland' 'Guadeloupe' 'Liechtenstein' 'Martinique' 'Monaco' 'Montserrat' 'Niue' 'Reunion' 'San Marino' 'Serbia' 'St. Pierre & Miquelon' 'Svalbard' 'Suriname') and totalexports ne .; run; proc sort data=dot_c; by descending realexports state date; run; proc sort data=dot_c; by descending state date; run; data dot_d; set dot_c; by descending state date; if first.date then count=0; count+1; run; data dot_30; set dot_d; format realexports comma14. realgdp comma14.; where count le 30; run; /*CREATE THE VARIABLE DOT BY MULTILPLYING DISTANCE TIMES EXPORT SHARE, THEN SUMMING ACROSS EACH STATE'S TOP 30 EXPORT MARKETS IN EACH YEAR*/ proc sort data=dot_30; by state date; run; proc univariate data=dot_30 noprint; by state date; var realexports; output out=sumexports_30 sum=sumexports_30; run; data dot_30b; merge dot_30 sumexports_30; by state date; run; data dot_30c; set dot_30b; share_30=realexports/sumexports_30; run; data dot_30d; set dot_30c; idot_30=share_30*dist; run; proc sort data=dot_30d; by state date; run; proc univariate data=dot_30d noprint; by state date; var idot_30; output out=sumdot_30 sum=dot; run; proc sort data=sumdot_30; by state date; run; data perm.dot_30; merge dot_30c sumdot_30; by state date; run; /****************************************************************************************/ /****************************************************************************************/ /****************************************************************************************/ /*TO BYPASS THE PROCESS OF CREATING PERM.DOT_50 AND PERM.DOT_30, IMPORT THE DATASETS FROM THE EXCEL DATA FILE*/ proc import datafile='D:\temp\0411ccd.xls' out=dot_50 dbms=excel2000 replace; sheet='Top 50 Dataset';run; proc import datafile='D:\temp\0411ccd.xls' out=dot_30 dbms=excel2000 replace; sheet='Top 30 Dataset';run; /*TABLE 1--EXPORT DESTINATION SHARE BY REGION. THIS PROGRAM FIRST GROUPS THE COUNTRIES INTO FIVE REGIONS (CANADA AND MEXICO ARE LISTED INDIVIDUALLY) THEN, USING EACH STATE'S TOP 50 EXPORT MARKETS, CALCULATES THE PERCENTAGE SHARE OF EACH STATE'S TOTAL (WORLD) EXPORTS GOING TO A SPECIFIC REGION.*/ data worldexports; set dot_50; run; proc sort data=worldexports; by date; run; /*SUM EXPORTS ACROSS ALL COUNTRIES AND ALL STATES IN EACH YEAR*/ proc univariate data=worldexports noprint; by date; var realexports; output out=worldexports_sum sum=worldexports_sum; run; /*CALCULATE THE MEAN OF WORLD EXPORTS IN THE PERIOD 1988-1992*/ proc univariate data=worldexports_sum noprint; where date in (1988,1989,1990,1991,1992); var worldexports_sum; output out=worldexports_8892 mean=worldexports_8892; run; /*CALCULATE THE MEAN OF WORLD EXPORTS IN THE PERIOD 1993-1997*/ proc univariate data=worldexports_sum noprint; where date in (1993,1994,1995,1996,1997); var worldexports_sum; output out=worldexports_9397 mean=worldexports_9397; run; /*CALCULATE THE MEAN OF WORLD EXPORTS IN THE PERIOD 1998-2002*/ proc univariate data=worldexports_sum noprint; where date in (1998,1999,2000,2001,2002); var worldexports_sum; output out=worldexports_9802 mean=worldexports_9802; run; /*COMBINE WORLD EXPORTS DATA SETS INTO ONE*/ data worldexports_share; merge worldexports_8892 worldexports_9397 worldexports_9802; run; data latinamerica; set dot_50; where cntry in ('Antigua & Barbuda' 'Argentina' 'Aruba' 'Barbados' 'Belize' 'Bermuda' 'Bolivia' 'Brazil' 'British Virgin Is.' 'Cayman Is.' 'Chile' 'Colombia' 'Costa Rica' 'Cuba' 'Dominican Republic' 'Ecuador' 'El Salvador' 'French Guiana' 'Grenada' 'Guadeloupe' 'Guatemala' 'Guyana' 'Haiti' 'Honduras' 'Jamaica' 'Martinique' 'Netherlands Antilles' 'Nicaragua' 'Panama' 'Paraguay' 'Peru' 'St. Kitts & Nevis' 'St. Lucia' 'St. Vincent & the Grenad' 'Suriname' 'The Bahamas' 'Trinidad & Tobago' 'Turks & Caicos Is.' 'Uruguay' 'Venezuela' 'Montserrat' 'Dominica' 'Anguilla'); run; proc sort data=latinamerica; by date; run; /*SUM EXPORTS ACROSS ALL COUNTRIES IN THE REGION AND ALL STATES IN EACH YEAR*/ proc univariate data=latinamerica noprint; by date; var realexports; output out=latinamerica_sum sum=latinamerica_sum; run; /*CALCULATE THE MEAN OF REGIONAL EXPORTS IN THE PERIOD 1988-1992*/ proc univariate data=latinamerica_sum noprint; where date in (1988,1989,1990,1991,1992); var latinamerica_sum; output out=latinamerica_8892 mean=mlatinamerica_8892; run; /*CALCULATE THE MEAN OF REGIONAL EXPORTS IN THE PERIOD 1993-1997*/ proc univariate data=latinamerica_sum noprint; where date in (1993,1994,1995,1996,1997); var latinamerica_sum; output out=latinamerica_9397 mean=mlatinamerica_9397; run; /*CALCULATE THE MEAN OF REGIONAL EXPORTS IN THE PERIOD 1998-2002*/ proc univariate data=latinamerica_sum noprint; where date in (1998,1999,2000,2001,2002); var latinamerica_sum; output out=latinamerica_9802 mean=mlatinamerica_9802; run; /*COMBINE ALL LATIN AMERICA DATA SETS INTO ONE*/ data latinamerica_share (keep=latinamerica_8892 latinamerica_9397 latinamerica_9802); merge latinamerica_8892 latinamerica_9397 latinamerica_9802 worldexports_share; latinamerica_8892=(mlatinamerica_8892/worldexports_8892)*100; latinamerica_9397=(mlatinamerica_9397/worldexports_9397)*100; latinamerica_9802=(mlatinamerica_9802/worldexports_9802)*100; run; data europe; set dot_50; where cntry in ('Albania' 'Andorra' 'Austria' 'Belarus' 'Belgium' 'Bosnia & Herzegovina' 'Croatia' 'Czech Republic' 'Czechoslovakia' 'Denmark' 'East Germany' 'Estonia' 'Faroe Is.' 'Finland' 'France' 'Germany' 'Gibraltar' 'Greece' 'Greenland' 'Hungary' 'Iceland' 'Ireland' 'Italy' 'Liechtenstein' 'Lithuania' 'Luxembourg' 'Macedonia' 'Malta' 'Moldova' 'Monaco' 'Netherlands' 'Norway' 'Poland' 'Portugal' 'Romania' 'Slovakia' 'Slovenia' 'Spain' 'Sweden' 'Switzerland' 'Ukraine' 'United Kingdom' 'Yugoslavia (old)' 'Latvia' 'Serbia' 'Svalbard'); run; proc sort data=europe; by date; run; /*SUM EXPORTS ACROSS ALL COUNTRIES IN THE REGION AND ALL STATES IN EACH YEAR*/ proc univariate data=europe noprint; by date; var realexports; output out=europe_sum sum=europe_sum; run; /*CALCULATE THE MEAN OF REGIONAL EXPORTS IN THE PERIOD 1988-1992*/ proc univariate data=europe_sum noprint; where date in (1988,1989,1990,1991,1992); var europe_sum; output out=europe_8892 mean=meurope_8892; run; /*CALCULATE THE MEAN OF REGIONAL EXPORTS IN THE PERIOD 1993-1997*/ proc univariate data=europe_sum noprint; where date in (1993,1994,1995,1996,1997); var europe_sum; output out=europe_9397 mean=meurope_9397; run; /*CALCULATE THE MEAN OF REGIONAL EXPORTS IN THE PERIOD 1998-2002*/ proc univariate data=europe_sum noprint; where date in (1998,1999,2000,2001,2002); var europe_sum; output out=europe_9802 mean=meurope_9802; run; /*COMBINE ALL EUROPE DATA SETS INTO ONE*/ data europe_share (keep=europe_8892 europe_9397 europe_9802); merge europe_8892 europe_9397 europe_9802 worldexports_share; europe_8892=(meurope_8892/worldexports_8892)*100; europe_9397=(meurope_9397/worldexports_9397)*100; europe_9802=(meurope_9802/worldexports_9802)*100; run; data asia; set dot_50; where cntry in ('Afghanistan' 'Armenia' 'Azerbaijan' 'Bahrain' 'Bangladesh' 'Brunei' 'Bulgaria' 'Burma' 'Cambodia' 'China' 'Cyprus' 'Georgia' 'Hong Kong' 'India' 'Indonesia' 'Iran' 'Iraq' 'Israel' 'Japan' 'Jordan' 'Kazakhstan' 'Kuwait' 'Kyrgyzstan' 'Lebanon' 'Macao' 'Malaysia' 'Mongolia' 'Nepal' 'Oman' 'Pakistan' 'Philippines' 'Qatar' 'Russia' 'Saudi Arabia' 'Singapore' 'South Korea' 'Soviet Union' 'Sri Lanka' 'Syria' 'Taiwan' 'Thailand' 'Turkey' 'Turkmenistan' 'United Arab Emirates' 'Uzbekistan' 'Vietnam' 'Yemen' 'Tajikistan' 'North Korea' 'Maldive Islands'); run; proc sort data=asia; by date; run; /*SUM EXPORTS ACROSS ALL COUNTRIES IN THE REGION AND ALL STATES IN EACH YEAR*/ proc univariate data=asia noprint; by date; var realexports; output out=asia_sum sum=asia_sum; run; /*CALCULATE THE MEAN OF REGIONAL EXPORTS IN THE PERIOD 1988-1992*/ proc univariate data=asia_sum noprint; where date in (1988,1989,1990,1991,1992); var asia_sum; output out=asia_8892 mean=masia_8892; run; /*CALCULATE THE MEAN OF REGIONAL EXPORTS IN THE PERIOD 1993-1997*/ proc univariate data=asia_sum noprint; where date in (1993,1994,1995,1996,1997); var asia_sum; output out=asia_9397 mean=masia_9397; run; /*CALCULATE THE MEAN OF REGIONAL EXPORTS IN THE PERIOD 1998-2002*/ proc univariate data=asia_sum noprint; where date in (1998,1999,2000,2001,2002); var asia_sum; output out=asia_9802 mean=masia_9802; run; /*COMBINE ALL ASIA DATA SETS INTO ONE*/ data asia_share (keep=asia_8892 asia_9397 asia_9802); merge asia_8892 asia_9397 asia_9802 worldexports_share; asia_8892=(masia_8892/worldexports_8892)*100; asia_9397=(masia_9397/worldexports_9397)*100; asia_9802=(masia_9802/worldexports_9802)*100; run; data africa; set dot_50; where cntry in ('Algeria' 'Angola' 'Benin' 'Botswana' 'Burkina Faso' 'Cameroon' 'Cape Verde' 'Chad' 'Congo' "Cote d'Ivory" 'Djibouti' 'Egypt' 'Eritrea' 'Ethiopia' 'Gabon' 'Ghana' 'Guinea' 'Kenya' 'Liberia' 'Madagascar' 'Malawi' 'Mali' 'Mauritania' 'Mauritius' 'Morocco' 'Mozambique' 'Namibia' 'Niger' 'Nigeria' 'Rwanda' 'Sao Tome & Principe' 'Senegal' 'Seychelles' 'Sierra Leone' 'Somalia' 'South Africa' 'Sudan' 'Swaziland' 'Tanzania' 'Togo' 'Tunisia' 'Uganda' 'Zaire' 'Zambia' 'Zimbabwe' 'Reunion' 'Lesotho' 'Equatorial Guinea'); run; proc sort data=africa; by date; run; /*SUM EXPORTS ACROSS ALL COUNTRIES IN THE REGION AND ALL STATES IN EACH YEAR*/ proc univariate data=africa noprint; by date; var realexports; output out=africa_sum sum=africa_sum; run; /*CALCULATE THE MEAN OF REGIONAL EXPORTS IN THE PERIOD 1988-1992*/ proc univariate data=africa_sum noprint; where date in (1988,1989,1990,1991,1992); var africa_sum; output out=africa_8892 mean=mafrica_8892; run; /*CALCULATE THE MEAN OF REGIONAL EXPORTS IN THE PERIOD 1993-1997*/ proc univariate data=africa_sum noprint; where date in (1993,1994,1995,1996,1997); var africa_sum; output out=africa_9397 mean=mafrica_9397; run; /*CALCULATE THE MEAN OF REGIONAL EXPORTS IN THE PERIOD 1998-2002*/ proc univariate data=africa_sum noprint; where date in (1998,1999,2000,2001,2002); var africa_sum; output out=africa_9802 mean=mafrica_9802; run; /*COMBINE ALL AFRICA DATA SETS INTO ONE*/ data africa_share (keep=africa_8892 africa_9397 africa_9802); merge africa_8892 africa_9397 africa_9802 worldexports_share; africa_8892=(mafrica_8892/worldexports_8892)*100; africa_9397=(mafrica_9397/worldexports_9397)*100; africa_9802=(mafrica_9802/worldexports_9802)*100; run; data oceania; set dot_50; where cntry in ('Australia' 'Christmas I.' 'Cook Is.' 'Fiji' 'French Polynesia' 'Kiribati' 'Marshall Is.' 'Micronesia' 'Nauru' 'New Caledonia' 'New Zealand' 'Niue' 'Norfolk I.' 'Palau' 'Papua New Guinea' 'Samoa' 'Solomon Is.' 'Tonga' 'Vanuatu'); run; proc sort data=oceania; by date; run; /*SUM EXPORTS ACROSS ALL COUNTRIES IN THE REGION AND ALL STATES IN EACH YEAR*/ proc univariate data=oceania noprint; by date; var realexports; output out=oceania_sum sum=oceania_sum; run; /*CALCULATE THE MEAN OF REGIONAL EXPORTS IN THE PERIOD 1988-1992*/ proc univariate data=oceania_sum noprint; where date in (1988,1989,1990,1991,1992); var oceania_sum; output out=oceania_8892 mean=moceania_8892; run; /*CALCULATE THE MEAN OF REGIONAL EXPORTS IN THE PERIOD 1993-1997*/ proc univariate data=oceania_sum noprint; where date in (1993,1994,1995,1996,1997); var oceania_sum; output out=oceania_9397 mean=moceania_9397; run; /*CALCULATE THE MEAN OF REGIONAL EXPORTS IN THE PERIOD 1998-2002*/ proc univariate data=oceania_sum noprint; where date in (1998,1999,2000,2001,2002); var oceania_sum; output out=oceania_9802 mean=moceania_9802; run; /*COMBINE ALL OCEANIA DATA SETS INTO ONE*/ data oceania_share (keep=oceania_8892 oceania_9397 oceania_9802); merge oceania_8892 oceania_9397 oceania_9802 worldexports_share; oceania_8892=(moceania_8892/worldexports_8892)*100; oceania_9397=(moceania_9397/worldexports_9397)*100; oceania_9802=(moceania_9802/worldexports_9802)*100; run; data mexico; set dot_50; where cntry='Mexico'; run; proc sort data=mexico; by date; run; /*SUM EXPORTS ACROSS ALL COUNTRIES IN THE REGION AND ALL STATES IN EACH YEAR*/ proc univariate data=mexico noprint; by date; var realexports; output out=mexico_sum sum=mexico_sum; run; /*CALCULATE THE MEAN OF REGIONAL EXPORTS IN THE PERIOD 1988-1992*/ proc univariate data=mexico_sum noprint; where date in (1988,1989,1990,1991,1992); var mexico_sum; output out=mexico_8892 mean=mmexico_8892; run; /*CALCULATE THE MEAN OF REGIONAL EXPORTS IN THE PERIOD 1993-1997*/ proc univariate data=mexico_sum noprint; where date in (1993,1994,1995,1996,1997); var mexico_sum; output out=mexico_9397 mean=mmexico_9397; run; /*CALCULATE THE MEAN OF REGIONAL EXPORTS IN THE PERIOD 1998-2002*/ proc univariate data=mexico_sum noprint; where date in (1998,1999,2000,2001,2002); var mexico_sum; output out=mexico_9802 mean=mmexico_9802; run; /*COMBINE ALL MEXICO DATA SETS INTO ONE*/ data mexico_share (keep=mexico_8892 mexico_9397 mexico_9802); merge mexico_8892 mexico_9397 mexico_9802 worldexports_share; mexico_8892=(mmexico_8892/worldexports_8892)*100; mexico_9397=(mmexico_9397/worldexports_9397)*100; mexico_9802=(mmexico_9802/worldexports_9802)*100; run; data canada; set dot_50; where cntry='Canada'; run; proc sort data=canada; by date; run; /*SUM EXPORTS ACROSS ALL COUNTRIES IN THE REGION AND ALL STATES IN EACH YEAR*/ proc univariate data=canada noprint; by date; var realexports; output out=canada_sum sum=canada_sum; run; /*CALCULATE THE MEAN OF REGIONAL EXPORTS IN THE PERIOD 1988-1992*/ proc univariate data=canada_sum noprint; where date in (1988,1989,1990,1991,1992); var canada_sum; output out=canada_8892 mean=mcanada_8892; run; /*CALCULATE THE MEAN OF REGIONAL EXPORTS IN THE PERIOD 1993-1997*/ proc univariate data=canada_sum noprint; where date in (1993,1994,1995,1996,1997); var canada_sum; output out=canada_9397 mean=mcanada_9397; run; /*CALCULATE THE MEAN OF REGIONAL EXPORTS IN THE PERIOD 1998-2002*/ proc univariate data=canada_sum noprint; where date in (1998,1999,2000,2001,2002); var canada_sum; output out=canada_9802 mean=mcanada_9802; run; /*COMBINE ALL CANADA DATA SETS INTO ONE*/ data canada_share (keep=canada_8892 canada_9397 canada_9802); merge canada_8892 canada_9397 canada_9802 worldexports_share; canada_8892=(mcanada_8892/worldexports_8892)*100; canada_9397=(mcanada_9397/worldexports_9397)*100; canada_9802=(mcanada_9802/worldexports_9802)*100; run; /****************************************************************************************/ /****************************************************************************************/ /****************************************************************************************/ /*FIGURE 2--NATIONAL DISTANCE OF TRADE*/ /*THIS PROGRAM AVERAGES THE VARIABLE DOT ACROSS STATES IN EACH YEAR TO YIELD NATIONAL DOT*/ data national_dot; set dot_50; run; proc sort data=national_dot; by date; run; proc univariate data=national_dot noprint; by date; var dot; output out=mean_national mean=ntl_dot; run; /****************************************************************************************/ /****************************************************************************************/ /****************************************************************************************/ /*Table 2--Time Trend Analysis of the Distance of Trade, 1988-2002 The program runs the following regression: lnDOT = a + ßt + e (Eq. 1) THIS PROGRAM USES PROC REG TO RUN A TIME TREND REGRESSION ON THE NATURAL LOG OF THE DISTANCE OF TRADE. THIS PROGRAM USES THE TOP 50 EXPORT MARKETS DATA SET*/ /*CREATE THE TIME VARIABLE T*/ data trend (keep=state date cntry lndot t); set dot_50; if date=1988 then do t=0; end; if date=1989 then do t=1; end; if date=1990 then do t=2; end; if date=1991 then do t=3; end; if date=1992 then do t=4; end; if date=1993 then do t=5; end; if date=1994 then do t=6; end; if date=1995 then do t=7; end; if date=1996 then do t=8; end; if date=1997 then do t=9; end; if date=1998 then do t=10; end; if date=1999 then do t=11; end; if date=2000 then do t=12; end; if date=2001 then do t=13; end; if date=2002 then do t=14; end; lndot=log(dot); run; proc sort data=trend; by state; run; /*REGRESS THE TIME VARIABLE T ON THE NATURAL LOG OF THE DISTANCE OF TRADE FOR EACH STATE SEPERATELY AND OUTPUT A TABLE WITH THE PARAMETER ESTIMATES AND REGRESSION STATISTICS*/ proc reg data=trend outest=est1 tableout; model lndot=t; by state; run; /****************************************************************************************/ /****************************************************************************************/ /****************************************************************************************/ /*Table 3-The Distance Coefficient The program runs the following regression EXPSHARE = a + ßRGDP + ?DIST + e (Eq. 2) THIS PROGRAM USES PROC REG TO REGRESS RGDP AND DIST ON EXPSHARE. THIS PROGRAM USES THE TOP 30 EXPORT MARKETS DATA SET*/ data share_30 (keep=state date cntry dist realgdp share_30); set dot_30; run; proc sort data=share_30; by state date; run; /*REGRESS RGDP(REALGDP) AND DIST ON EXPSHARE(SHARE_30) AND OUTPUT THE PARAMETER ESTIMATES AND REGRESSION STATISTICS*/ proc reg data=share_30 outest=est_a tableout; model share_30=realgdp dist; by state date; run; data est_b (keep=state date _TYPE_ Intercept realgdp dist); set est_a; where _TYPE_ in ('PARMS' 'T' 'PVALUE'); run; data coefficients (drop=_TYPE_); set est_b; where _TYPE_='PARMS'; title 'Coefficient Estimates'; run; /*PLOT THE DISTANCE COEFFICIENTS AGAINST DATE FOR EACH STATE TO VISUALLY ANALYZE THE DISTANCE COEFFICIENT TREND OVER TIME*/ goptions reset=symbol; goptions reset=title; symbol1 v=dot c=blue i=rl; symbol2 v=square c=red i=rl; proc gplot data=coefficients; by state; plot dist*date/ legend; title 'DIST Coefficient Estimates'; run; quit; /****************************************************************************************/ /****************************************************************************************/ /****************************************************************************************/ /*Table 5-Mean Distance of Trade, 1994-2002 Relative to Mean Distance of Trade, 1988-93 The program runs a means test on paired distance of trade means for the periods 1994-2002 and 1988-1993. THIS PROGRAM PERFORMS A MEANS TEST ASSUMING EQUAL VARIANCES (POOLED MEANS TEST) ON THE PAIRS OF DOT MEANS (DISTANCE OF TRADE IN THE PERIOD 1994-2002 AND DISTANCE OF TRADE IN THE PERIOD 1988-1993). THIS PROGRAM USES THE TOP 50 EXPORT MARKETS DATA SET*/ data meanstest; set dot_50; run; proc sort data=meanstest; by state date; run; /*CALCULATE THE MEAN DISTANCE OF TRADE FOR EACH STATE IN EACH YEAR*/ proc univariate data=meanstest noprint; by state date; var dot; output out=meanstest_b mean=mdot; run; /*CREATE TWO SEPERATE DATE RANGES (1994-2002 AND 1988-1993) FOR THE PAIRED MEANS TEST*/ data meanstest_d; set meanstest_b; if date in (1988,1989,1990,1991,1992,1993) then do drange=8893; end; else if date in (1994,1995,1996,1997,1998,1999,2000,2001,2002) then do drange=9402; end; run; /*PERFORM A MEANS TEST AND OUTPUT SIMPLE STATISTICS, T-STATISTICS FOR THE EQUAL MEANS NULL HYPOTHESIS, AND THE FOLDED-F STATISTICS FOR THE EQUALITY OF VARIANCE TEST*/ ods trace on; ods output Equality=Eq Statistics=stats Ttests=ttest; proc ttest data=meanstest_d; class drange; by state; var mdot; run; /****************************************************************************************/ /****************************************************************************************/ /****************************************************************************************/ /*Distance-weighted measure of NAFTA's effect on each state (discussed on p. 15, also referenced in footnote 30) DISNAFTAi=?(NAFTAij * Shareij)/Distanceij The program calculates the distance-weighted measure of NAFTA's effect on each state, where NAFTA is the estimated change in exports from Coughlin and Wall (2003), Share is the percentage of a state's exports destined for a specific export region, and Distance is the distance from the state to a specific export region. Regions are those defined by Coughlin and Wall (2003). This program then computes the simple correlation coefficient between the distance-weighted measure of NAFTA and the percentage change in a state's distance of trade measure (DOT). THIS PROGRAM CALCULATES THE DISTANCE-WEIGHTED MEASURE OF NAFTA'S EFFECT ON EACH STATE THEN COMPUTES A SIMPLE CORRELATION COEFFICIENT BETWEEN THE NAFTA MEASURE AND THE PERCENTAGE CHANGE IN A STATE'S DISTANCE OF TRADE MEASURE (DOT). THIS PROGRAM USES THE TOP 50 EXPORT MARKETS DATA SET*/ data naftab; set dot_50; run; /*CREATE REGIONS AS DEFINED BY COUGHLIN AND WALL (2003)*/ data naftac; set naftab; if cntry in ('United Kingdom' 'Germany' 'Netherlands' 'France' 'Belgium' 'Italy' 'Switzerland' 'Spain' 'Ireland' 'Sweden') then do region='europe';end; else if cntry in ('Japan' 'South Korea' 'Singapore' 'Hong Kong' 'China' 'Malaysia''Thailand' 'Philippines' 'Indonesia' 'Vietnam') then do region='asia';end; else if cntry in ('Brazil' 'Venezuela' 'Colombia' 'Argentina' 'Chile' 'Dominican Republic' 'Costa Rica' 'Peru' 'Guatemala' 'Jamaica') then do region='latinamerica';end; else if cntry='Mexico' then do region='mexico';end; else if cntry='Canada' then do region='canada';end; run; data naftad; set naftac; where region in ('europe' 'asia' 'latina' 'mexico' 'canada'); run; /*CREATE ONE DATASET FOR EACH REGION*/ data europe; set naftad; where region='europe'; run; data asia; set naftad; where region='asia'; run; data latina; set naftad; where region='latina'; run; data mexico; set naftad; where region='mexico'; dist_mx=dist; run; data canada; set naftad; where region='canada'; dist_can=dist; run; /*STATE-TO-REGION DISTANCE IS MEASURED IN THIS PROGRAM AS THE DISTANCE, IN MILES, BETWEEN EACH STATE AND ONE COUNTRY IN EACH REGION (EUROPE=UK, LATIN AMERICA=BRAZIL, ASIA=JAPAN)*/ data uk; set europe; where cntry='United Kingdom'; dist_uk=dist; run; proc sort data=uk; by state; run; proc sort data=europe; by state; run; data europeb; merge uk europe; by state; dist=dist_uk; run; data brazil; set latina; where cntry='Brazil'; dist_brazil=dist; run; proc sort data=brazil; by state; run; proc sort data=latina; by state; run; data latinab; merge brazil latina; by state; dist=dist_brazil; run; data japan; set asia; where cntry='Japan'; dist_japan=dist; run; proc sort data=japan; by state; run; proc sort data=asia; by state; run; data asiab; merge japan asia; by state; dist=dist_japan; run; /*IMPORT NAFTA COEFFICIENTS FROM COUGHLIN AND WALL (2003) AND ADD THOSE COEFFICIENTS TO EACH REGIONAL DATASET*/ proc import datafile= 'D:\temp\0411ccd.xls' out=coeff dbms=excel2000 replace; sheet='Table 4';run; proc sort data=coeff; by state; run; proc sort data=mexico; by state; run; data mexico_coeff; merge coeff mexico; by state; run; proc sort data=canada; by state; run; data canada_coeff; merge coeff canada; by state; run; proc sort data=europeb; by state; run; data europe_coeff; merge coeff europeb; by state; run; proc sort data=asiab; by state; run; data asia_coeff; merge coeff asiab; by state; run; proc sort data=latinab; by state; run; data latina_coeff; merge coeff latinab; by state; run; proc sort data=europe_coeff; by state date; run; proc sort data=latina_coeff; by state date; run; proc sort data=canada_coeff; by state date; run; proc sort data=mexico_coeff; by state date; run; proc sort data=asia_coeff; by state date; run; /*MERGE ALL REGIONAL DATASETS*/ data world_coeff (drop=name count); set europe_coeff latina_coeff asia_coeff canada_coeff mexico_coeff; run; /*CALCULATE THE TOTAL EXPORT VALUE TO ALL REGIONS FROM EACH STATE IN EACH YEAR*/ proc sort data=world_coeff; by state date; run; proc univariate data=world_coeff noprint; by state date; var realexports; output out=sum sum=worldsum; run; data share_b (keep=worldsum mexico canada europe asia latina region dist state date dist_uk dist_brazil dist_japan dist_can dist_mx realexports); merge sum world_coeff; by state date; run; /*CALCULATE THE TOTAL EXPORT VALUE TO EACH REGION FROM EACH STATE IN EACH YEAR*/ data share_mex; set share_b; where region='mexico'; run; proc univariate data=share_mex noprint; by state date; var realexports; output out=summex sum=summex; run; data share_can; set share_b; where region='canada'; run; proc univariate data=share_can noprint; by state date; var realexports; output out=sumcan sum=sumcan; run; data share_eur; set share_b; where region='europe'; run; proc univariate data=share_eur noprint; by state date; var realexports; output out=sumeur sum=sumeur; run; data share_lat; set share_b; where region='latina'; run; proc univariate data=share_lat noprint; by state date; var realexports; output out=sumlat sum=sumlat; run; data share_asia; set share_b; where region='asia'; run; proc univariate data=share_asia noprint; by state date; var realexports; output out=sumasia sum=sumasia; run; data regional; merge sumasia sumlat summex sumeur sumcan share_b; by state date; run; data regional_b; set regional; run; proc univariate data=regional_b noprint; by state; var worldsum summex sumcan sumasia sumeur sumlat ; output out=mean_b mean=msum mmex mcan masia meur mlat; run; /*CALCULATE THE PERCENTAGE OF EACH STATE'S EXPORTS TO ALL REGIONS THAT ARE DESTINED FOR A SPECIFIC REGION*/ data regshare; set mean_b; sharemex=(mmex/msum)*100; sharecan=(mcan/msum)*100; shareasia=(masia/msum)*100; shareeur=(meur/msum)*100; sharelat=(mlat/msum)*100; run; data share_c; merge share_b regshare; by state; run; /*THE DISTANCE MEASURE IS 1/THE DISTANCE, IN MILES BETWEEN EACH STATE AND EACH REGION*/ data distance_nafta (drop=dist_mx dist_can dist_brazil dist_japan dist_uk); set share_c; distance_mx=1/dist_mx; distance_can=1/dist_can; distance_brazil=1/dist_brazil; distance_japan=1/dist_japan; distance_uk=1/dist_uk; run; /*CREATE DISTANCE-WEIGHTED MEASURE OF NAFTA'S EFFECT ON EACH STATE*/ data nafta; set distance_nafta; naftamex=sharemex*distance_mx*mexico; naftacan=sharecan*distance_can*canada; naftalat=sharelat*distance_brazil*latina; naftaasia=shareasia*distance_japan*asia; naftaeur=shareeur*distance_uk*europe; nafta=sum(naftamex,naftacan,naftalat,naftaasia,naftaeur); run; proc sort data=nafta; by state region; run; proc univariate data=nafta noprint; by state region; var nafta; output out=coeff mean=mnafta; run; proc sort data=coeff; by state; run; proc univariate data=coeff noprint; by state; var mnafta; output out=correlation_all sum=snafta; run; /*IMPORT TABLE SHOWING THE CHANGE IN EACH STATE'S DISTANCE OF TRADE*/ proc import datafile= 'D:\temp\0411ccd.xls' out=dotchng_nafta dbms=excel2000 replace; sheet='dotchng_nafta';run; data dotchng; set dotchng_nafta; run; proc sort data=dotchng; by state; run; /*MERGE THE NAFTA MEASURE WITH THE PERCENTAGE CHANGE IN EACH STATE'S DISTANCE OF TRADE*/ data correlation_b; merge correlation_all dotchng; by state; run; /*COMPUTE AND OUTPUT SIMPLE PEARSON CORRELATION COEFFICIENT BETWEEN THE NAFTA MEASURE AND THE PERCENTAGE CHANGE IN EACH STATE'S DISTANCE OF TRADE*/ goptions reset=title; proc corr data=correlation_b outp=naftameasure; var snafta dotchng_nafta; title 'Pearson Correlation Statistics NAFTAMEASURE'; run; /****************************************************************************************/ /****************************************************************************************/ /****************************************************************************************/ /*Distance-weighted measure of the growth of each state's trading partners (discussed on p. 16, also referenced in footnote 35) DISGROWTHi=?(Growthij * Shareij)/Distanceij The program calculates the distance-weighted measure of each region's GDP growth, where Growth is the annualized growth in real gross domestic product between 1987 and 2002 in a region, Share is the percentage of a state's exports destined for a specific export region, and Distance is the distance from the state to a specific export region. Regions are those defined by Coughlin and Wall (2003). This program then computes the simple correlation coefficient between the distance-weighted measure of growth and the percentage change in a state's distance of trade measure. THIS PROGRAM OPERATES IN THE SAME WAY AS THE PROGRAM USED TO CREATE THE DISTANCE-WEIGHTED NAFTA MEASURE EXCEPT THAT THE VARIABLE NAFTA IS REPLACED BY GROWTH. TO AVOID REPETITION, THIS PROGRAM BEGINS WITH THE DISTANCE DATA SET, CREATED IN THE NAFTA MEASURE PROGRAM. THIS DATASET CONTAINS THE VARIABLES SHARE AND DISTANCE FOR EACH REGION. THIS PROGRAM USES THE TOP 30 EXPORT MARKETS DATA SET*/ /*IMPORT TABLE SHOWING THE ANNUALIZED GDP GROWTH FOR THE PERIOD 1987-2002 FOR THE REGIONS DEFINED BY COUGHLIN AND WALL (2003)*/ proc import datafile= 'D:\temp\0411ccd.xls' out=gdpchng_nafta dbms=excel2000 replace; sheet='gdpchng_nafta';run; data gdp_reg; set gdpchng_nafta; if region='mexico' then do mexgrowth=growth;end; else if region='canada' then do cangrowth=growth;end; else if region='latina' then do latgrowth=growth;end; else if region='europe' then do eurgrowth=growth;end; else if region='asia' then do asiagrowth=growth;end; run; proc sort data=gdp_reg; by region; run; proc sort data=distance_nafta; by region; run; /*MERGE THE DATASET CONTAINING SHARE AND DISTANCE WITH THE DATASET CONTAINING GDP GROWTH*/ data gdp_measure; merge distance_nafta gdp_reg; by region; run; /*CREATE DISGROWTH VARIABLES FOR EACH REGION (HERE CALLED GDP---) AND SUM ACROSS ALL REGIONS*/ data gdp_measureb; set gdp_measure; gdpmex=sharemex*distance_mx*mexgrowth; gdpcan=sharecan*distance_can*cangrowth; gdplat=sharelat*distance_brazil*latgrowth; gdpasia=shareasia*distance_japan*asiagrowth; gdpeur=shareeur*distance_uk*eurgrowth; gdp=sum(gdpmex,gdpcan,gdplat,gdpasia,gdpeur); run; /*CREATE A DATASET WITH DISGROWTH MEASURES BY STATE AND BY REGION*/ proc sort data=gdp_measureb; by state region; run; proc univariate data=gdp_measureb noprint; by state region; var gdp; output out=gdp_coeff mean=mgdp; run; /*CREATE A DATASET WITH DISGROWTH MEASURES BY STATE*/ proc sort data=gdp_coeff; by state; run; proc univariate data=gdp_coeff noprint; var mgdp; by state; output out=correlation_gdp sum=sgdp; run; /*MERGE DATASET CONTAINING THE PERCENTAGE CHANGE IN EACH STATE'S DISTANCE OF TRADE WITH THE DATASET CONTAINING THE DISGROWTH MEASURE BY STATE*/ data correlation_gdp; merge dotchng_nafta correlation_gdp; by state; run; /*COMPUTE AND OUTPUT SIMPLE PEARSON CORRELATION COEFFICIENT BETWEEN THE DISTANCE-WEIGHTED GDP MEASURE (DISGROWTH)AND THE PERCENTAGE CHANGE IN EACH STATE'S DISTANCE OF TRADE*/ goptions reset=title; proc corr data=correlation_gdp outp=gdpmeasure; var sgdp dotchng_nafta; title 'Pearson Correlation Statistics DISGROWTH'; run; /****************************************************************************************/ /****************************************************************************************/ /****************************************************************************************/