From fd3213596944d977232160f2d2a035d3bd28a693 Mon Sep 17 00:00:00 2001 From: JulioViales Date: Sun, 18 Aug 2019 21:28:37 -0600 Subject: [PATCH] Add files via upload --- airports_us_simplified.csv | 1573 ++++++++++++++++++++++++++++++++++++ curso_dplyr.R | 390 +++++++++ worldcup_teams.csv | 129 +++ 3 files changed, 2092 insertions(+) create mode 100644 airports_us_simplified.csv create mode 100644 curso_dplyr.R create mode 100644 worldcup_teams.csv diff --git a/airports_us_simplified.csv b/airports_us_simplified.csv new file mode 100644 index 0000000..5c5835b --- /dev/null +++ b/airports_us_simplified.csv @@ -0,0 +1,1573 @@ +Code,State,City +CSE,CO,Crested Butte +JCY,TX,Johnson City +PMX,MA,Palmer +WLR,AK,Loring +NUP,AK,Nunapitchuk +ICY,AK,Icy Bay +KKK,AK,Kalakaket Creek +LVD,AK,Lime Village +FIV,AK,Five Finger +HGZ,AK,Hogatza +FAK,AK,False Island +BYW,WA,Blakely Island +DRF,AK,Kenai +BDF,IL,Bradford +GDH,AK,Golden Horn Lodge +ATT,AK,Atmautluak +LIV,AK,Livengood +PDB,AK,Pedro Bay +KOZ,AK,Ouzinkie +EVA,TX,Evadale +BWS,WA,Blaine +WHD,AK,Hyder +TKI,AK,Tokeen +WKK,AK,Aleknagik +WFB,AK,Ketchikan +FOP,GA,Fort Gillem +BCS,LA,Belle Chasse +SPQ,CA,San Pedro +TSS,NY,New York +QNY,NY,New York +BWL,OK,Blackwell +WYB,AK,Yes Bay +CWS,WA,Center Island +TEK,AK,Tatitlek +DUF,NC,Corolla +FOB,CA,Fort Bragg +CCD,CA,Los Angeles +WMK,AK,Meyers Chuck +WDN,WA,East Sound +WWP,AK,North Whale Pass +CHU,AK,Chuathbaluk +KLL,AK,Levelock +SGW,AK,Saginaw Bay +WTL,AK,Tuntutuliak +KCQ,AK,Chignik Lake +CEX,AK,Chena Hot Springs +HED,AK,Herendeen Bay +TWE,AK,Taylor +KTH,AK,Tikchik +WNC,AK,Tuxekan Island +LNI,AK,Lonely +CDL,AK,Candle +AOS,AK,Amook Bay +BSZ,AK,Egegik +BSW,AK,Boswell Bay +TGE,AL,Tuskegee +ALZ,AK,Lazy Bay +AQY,AK,Girdwood +ARX,NJ,Asbury Park +AYZ,NY,Amityville +HAE,AZ,Supai Village +BKG,MO,Branson +BCJ,CO,Crestone +ILL,MN,Willmar +BLW,HI,Waimanalo +BNF,AK,Baranof +BOF,DC,Washington +BOK,OR,Brookings +BQV,AK,Gustavus +BRG,KY,Whitesburg +BSI,PA,Blairsville +BYA,AK,Boundary +CDK,FL,Cedar Key +CGA,AK,Craig +CHP,AK,Circle Hot Springs +CIV,AK,Chomley +CKD,AK,Crooked Creek +CKR,WA,Crane Island +CKU,AK,Cordova +CKX,AK,Chicken +CLC,TX,Clear Lake +EHT,CT,East Hartford +HLI,CA,Hollister +CVR,CA,Culver City +CXC,AK,Chitina +CYM,AK,Chatham +CZN,AK,Chisana +DJN,AK,Delta Junction +DCK,AK,Dahl Creek +DCR,IN,Decatur +DHB,WA,Deer Harbor +DPK,NY,Deer Park +DWS,FL,Walt Disney World +ESP,PA,East Stroudsburg +EXI,AK,Excursion Inlet +FAL,TX,Roma +FEW,WY,Cheyenne +FLE,VA,Fort Lee +FLT,AK,Flat +FSN,IL,Fort Sheridan +FXM,AK,Flaxman Island +GAB,NV,Gabbs +GFD,IN,Greenfield +GNU,AK,Goodnews +GMT,AK,Granite Mountain +GVE,VA,Gordonsville +HAY,AK,Haycock +HEY,AL,Fort Rucker Ozark +HGT,CA,Fort Hunter Ligget Jolon +HPV,HI,Hanalei +WKL,HI,Waikoloa Village +HKB,AK,Healy Lake +HNE,AK,Tahneta Pass Lodge +HYL,AK,Hollis +IVH,AK,Ivishak River +JLA,AK,Cooper Landing +JMC,CA,Sausalito +JPB,NY,New York +JPN,DC,Washington +JRA,NY,New York +JRB,NY,New York +AMK,CO,Durango +BDX,MT,Broadus +EUE,NV,Eureka +KPT,NV,Jackpot +RLA,MO,Rolla +FID,NY,Fishers Island +HUD,IA,Humboldt +TWD,WA,Port Townsend +HCC,NY,Hudson +AHD,OK,Ardmore +GCW,AZ,Peach Springs +ROF,CA,Montague +CNE,CO,Cañon City +COP,NY,Cooperstown +CIL,AK,Council +IRB,TX,Iraan +GNF,CA,Quincy +CHZ,OR,Chiloquin +LTW,MD,Leonardtown +AHF,NE,Arapahoe +CTO,NY,Calverton +GTP,OR,Grants Pass +GCD,WA,Electric City +FPY,FL,Perry +SBO,UT,Salina +JVI,NJ,Manville +GOL,OR,Gold Beach +KKT,IN,Kentland +FHB,FL,Fernandina Beach +EGP,TX,Eagle Pass +BLD,NV,Boulder City +FMU,OR,Florence +WPO,CO,Paonia +ATE,OK,Antlers +QWG,NC,Charlotte +ASQ,NV,Austin +AAF,FL,Apalachicola +AAP,TX,Houston +ABE,PA,Allentown +ABI,TX,Abilene +ABQ,NM,Albuquerque +ABR,SD,Aberdeen +ABY,GA,Albany +ACB,MI,Bellaire +ACK,MA,Nantucket +ACT,TX,Waco +ACV,CA,Arcata/Eureka +ACY,NJ,Atlantic City +ADG,MI,Adrian +ADT,OK,Ada +ADM,OK,Ardmore +ADS,TX,Dallas +ADW,MD,Camp Springs +KAE,AK,Kake +AEL,MN,Albert Lea +AEX,LA,Alexandria +AFF,CO,Colorado Springs +WSG,PA,Washington +AFN,NH,Jaffrey +AFO,WY,Afton +AFW,TX,Fort Worth +AGC,PA,Pittsburgh +AGO,AR,Magnolia +AGS,GA,Augusta +AHC,CA,Herlong +AHH,WI,Amery +AHN,GA,Athens +AIA,NE,Alliance +AID,IN,Anderson +AIK,SC,Aiken +AIO,IA,Atlantic +AIV,AL,Aliceville +AIY,NJ,Atlantic City +AIZ,MO,Kaiser Lake Ozark +AKO,CO,Akron +AKC,OH,Akron +ALB,NY,Albany +ALI,TX,Alice +ALM,NM,Alamogordo +ALN,IL,Alton/St Louis +ALO,IA,Waterloo +ALS,CO,Alamosa +ALW,WA,Walla Walla +ALX,AL,Alexander City +AMA,TX,Amarillo +AMN,MI,Alma +AMW,IA,Ames +ANB,AL,Anniston +AND,SC,Anderson +ANP,MD,Annapolis +ANQ,IN,Angola +ANW,NE,Ainsworth +ANY,KS,Anthony +AOH,OH,Lima +AOO,PA,Altoona +APA,CO,Denver +APC,CA,Napa +APF,FL,Naples +APG,MD,Aberdeen Proving Grounds(Aberdeen) +APH,VA,Fort A. P. Hill +APN,MI,Alpena +APT,TN,Jasper +APV,CA,Apple Valley +ARA,LA,New Iberia +ARB,MI,Ann Arbor +ARG,AR,Walnut Ridge +WHT,TX,Wharton +AUZ,IL,Chicago/Aurora +ART,NY,Watertown +ARV,WI,Minocqua-Woodruff +BFT,SC,Beaufort +ASE,CO,Aspen +SPZ,AR,Springdale +ASH,NH,Nashua +ASL,TX,Marshall +ASN,AL,Talladega +AST,OR,Astoria +ASX,WI,Ashland +ASY,ND,Ashley +ATL,GA,Atlanta +ATS,NM,Artesia +ATW,WI,Appleton +ATY,SD,Watertown +AUG,ME,Augusta +AUM,MN,Austin +AUN,CA,Auburn +AUO,AL,Auburn +AUS,TX,Austin +AUW,WI,Wausau +AVL,NC,Asheville +AVO,FL,Avon Park +AVP,PA,Wilkes-Barre/Scranton +AVW,AZ,Tucson +CIB,CA,Avalon +AWM,AR,West Memphis +AXG,IA,Algona +AXN,MN,Alexandria +AXS,OK,Altus +AXV,OH,Wapakoneta +AXX,NM,Angel Fire +AYE,MA,NA +AYS,GA,Waycross +AZO,MI,Kalamazoo +BAB,CA,Marysville +BAD,LA,Bossier City +BAF,MA,Westfield/Springfield +CLU,IN,Columbus +BAM,NV,Battle Mountain +BBB,MN,Benson +BBD,TX,Brady +BTN,SC,Bennettsville +BBW,NE,Broken Bow +BCB,VA,Blacksburg +BCE,UT,Bryce Canyon +BCT,FL,Boca Raton +BDE,MN,Baudette +BDG,UT,Blanding +BDL,CT,Hartford +BDR,CT,Bridgeport +WBU,CO,Boulder +KBE,AK,Bell Island +BEC,KS,Wichita +BED,MA,Bedford +BEH,MI,Benton Harbor +BFD,PA,Bradford +BFF,NE,Scottsbluff +BFI,WA,Seattle +BFL,CA,Bakersfield +BFM,AL,Mobile +BFR,IN,Bedford +BGD,TX,Borger +BGE,GA,Bainbridge +BGM,NY,Binghamton +BGR,ME,Bangor +BHB,ME,Bar Harbor +BHM,AL,Birmingham +BID,RI,Block Island +BIE,NE,Beatrice +BIF,TX,Fort Bliss/El Paso +BIH,CA,Bishop +BIL,MT,Billings +BIS,ND,Bismarck +BIX,MS,Biloxi +BJC,CO,Denver +BJI,MN,Bemidji +BJJ,OH,Wooster +BKD,TX,Breckenridge +BKE,OR,Baker City +BFK,CO,Aurora +BKL,OH,Cleveland +BKT,VA,Blackstone +BKW,WV,Beckley +BKX,SD,Brookings +BLF,WV,Bluefield +BLH,CA,Blythe +BLI,WA,Bellingham +BLM,NJ,Belmar/Farmingdale +BLU,CA,Emigrant Gap +BLV,IL,Belleville +BMC,UT,Brigham City +BMG,IN,Bloomington +BMI,IL,Bloomington/Normal +BML,NH,Berlin +BMT,TX,Beaumont +BNA,TN,Nashville +BNG,CA,Banning +BNL,SC,Barnwell +BNO,OR,Burns +BNW,IA,Boone +BOI,ID,Boise +BOS,MA,Boston +BOW,FL,Bartow +BGS,TX,Big Spring +BPI,WY,Big Piney +WMH,AR,Mountain Home +BWM,ND,Bowman +BPT,TX,Beaumont/Port Arthur +BQK,GA,Brunswick +BRD,MN,Brainerd +BRL,IA,Burlington +BRO,TX,Brownsville +BRY,KY,Bardstown +BTF,UT,Bountiful +BTL,MI,Battle Creek +BTM,MT,Butte +BTP,PA,Butler +BTR,LA,Baton Rouge +BTV,VT,Burlington +BTY,NV,Beatty +BUB,NE,Burwell +BUF,NY,Buffalo +BUM,MO,Butler +BUR,CA,Burbank +BFP,PA,Beaver Falls +BVO,OK,Bartlesville +BVX,AR,Batesville +BVY,MA,Beverly +BWC,CA,Brawley +BWD,TX,Brownwood +BWG,KY,Bowling Green +BWI,MD,Baltimore +WAH,ND,Wahpeton +BXA,LA,Bogalusa +BXK,AZ,Buckeye +BYG,WY,Buffalo +BYH,AR,Blytheville +BYI,ID,Burley +BYS,CA,Fort Irwin/Barstow +BBC,TX,Bay City +BZN,MT,Bozeman +CLG,CA,Coalinga +CAD,MI,Cadillac +CAE,SC,Columbia +CIG,CO,Craig +CAK,OH,Akron +CAO,NM,Clayton +CAR,ME,Caribou +CBE,MD,Cumberland +CBF,IA,Council Bluffs +CBK,KS,Colby +CBM,MS,Columbus +KCC,AK,Coffman Cove +CCB,CA,Upland +CCR,CA,Concord +CCY,IA,Charles City +LLX,VT,Lyndonville +CDC,UT,Cedar City +CDH,AR,Camden +CDN,SC,Camden +CDR,NE,Chadron +CDS,TX,Childress +CDW,NJ,Caldwell +CEA,KS,Wichita +CEC,CA,Crescent City +CEF,MA,Springfield/Chicopee +CEU,SC,Clemson +CEV,IN,Connersville +CEW,FL,Crestview +CEY,KY,Murray +CEZ,CO,Cortez +CFD,TX,Bryan +CFT,AZ,Clifton/Morenci +CFV,KS,Coffeyville +KCG,AK,Chignik +CGE,MD,Cambridge +CGF,OH,Cleveland +CGI,MO,Cape Girardeau +CGS,MD,College Park +CGX,IL,Chicago +CHA,TN,Chattanooga +CHK,OK,Chickasha +CHO,VA,Charlottesville +CHS,SC,Charleston +CIC,CA,Chico +CID,IA,Cedar Rapids +CIN,IA,Carroll +CIR,IL,Cairo +CIU,MI,Sault Ste Marie +CKA,OK,Cherokee +CKB,WV,Clarksburg +GRM,MN,Grand Marais +CKM,MS,Clarksdale +CKN,MN,Crookston +CKV,TN,Clarksville +KCL,AK,Chignik Flats +CLE,OH,Cleveland +CLI,WI,Clintonville +CLK,OK,Clinton +CLL,TX,College Station +CLM,WA,Port Angeles +CLR,CA,Calipatria +CLS,WA,Chehalis +CLT,NC,Charlotte +CLW,FL,Clearwater +CMH,OH,Columbus +CMI,IL,Champaign/Urbana +CMX,MI,Hancock +KCN,AK,Chernofski Harbor +CNH,NH,Claremont +CNK,KS,Concordia +CNM,NM,Carlsbad +CNO,CA,Chino +CNU,KS,Chanute +CNW,TX,Waco +CNY,UT,Moab +COD,WY,Cody +COE,ID,Coeur d'Alene +COF,FL,Cocoa Beach +COI,FL,Merritt Island +COM,TX,Coleman +CON,NH,Concord +COS,CO,Colorado Springs +COT,TX,Cotulla +COU,MO,Columbia +CPM,CA,Compton +CPR,WY,Casper +CPS,IL,Cahokia/St Louis +HCW,SC,Cheraw +KCR,AK,Colorado Creek +CRE,SC,North Myrtle Beach +CRG,FL,Jacksonville +CRO,CA,Corcoran +CRP,TX,Corpus Christi +CLD,CA,Carlsbad +CRS,TX,Corsicana +CRT,AR,Crossett +CRW,WV,Charleston +CRX,MS,Corinth +CSG,GA,Columbus +CSM,OK,Clinton +CSQ,IA,Creston +CSV,TN,Crossville +CTB,MT,Cut Bank +CTY,FL,Cross City +CTZ,NC,Clinton +CUB,SC,Columbia +CUH,OK,Cushing +CVG,KY,Cincinnati +CVN,NM,Clovis +CVO,OR,Corvallis +CVS,NM,Clovis +CWA,WI,Mosinee +KIP,TX,Wichita Falls +CWF,LA,Lake Charles +CWI,IA,Clinton +CXL,CA,Calexico +CXO,TX,Houston +CSN,NV,Carson City +HAR,PA,Harrisburg +CYS,WY,Cheyenne +DAA,VA,Fort Belvoir +DAB,FL,Daytona Beach +DAG,CA,Daggett +DAL,TX,Dallas +DAN,VA,Danville +DAY,OH,Dayton +DBN,GA,Dublin +DBQ,IA,Dubuque +DCA,DC,Washington +DCU,AL,Decatur +DDC,KS,Dodge City +DEC,IL,Decatur +DEH,IA,Decorah +DEN,CO,Denver +DET,MI,Detroit +DFI,OH,Defiance +DFW,TX,Dallas-Fort Worth +DGL,AZ,Douglas +DGW,WY,Douglas +DHN,AL,Dothan +DHT,TX,Dalhart +DIK,ND,Dickinson +DKK,NY,Dunkirk +DLL,SC,Dillon +DLF,TX,Del Rio +DLH,MN,Duluth +DLN,MT,Dillon +DLS,OR,The Dalles +DMA,AZ,Tucson +DMN,NM,Deming +DMO,MO,Sedalia +DNL,GA,Augusta +DNN,GA,Dalton +DNS,IA,Denison +DNV,IL,Danville +DOV,DE,Dover +DPA,IL,Chicago/West Chicago +DPG,UT,Dugway Proving Ground +DRI,LA,De Ridder +DRE,MI,Drummond Island +DRO,CO,Durango +DRT,TX,Del Rio +DSM,IA,Des Moines +DSV,NY,Dansville +DTA,UT,Delta +DTL,MN,Detroit Lakes +DTN,LA,Shreveport +DSI,FL,Destin +DTW,MI,Detroit +DUA,OK,Durant +DUC,OK,Duncan +DUG,AZ,Douglas Bisbee +DUJ,PA,Dubois +DVL,ND,Devils Lake +DVN,IA,Davenport +DVT,AZ,Phoenix +DWF,OH,Dayton +DWH,TX,Houston +DXR,CT,Danbury +DYL,PA,Doylestown +DYS,TX,Abilene +CCG,TX,Crane +ESO,NM,Espanola +ALE,TX,Alpine +BGT,AZ,Bagdad +EAR,NE,Kearney +EAT,WA,Wenatchee +EAU,WI,Eau Claire +KEB,AK,Nanwalek +EBS,IA,Webster City +ECG,NC,Elizabeth City +ECP,FL,Panama City Beach +EDE,NC,Edenton +ETS,AL,Enterprise +EED,CA,Needles +EEN,NH,Keene +EFD,TX,Houston +EFK,VT,Newport +EFW,IA,Jefferson +EGE,CO,Eagle +EGI,FL,Crestview +EGV,WI,Eagle River +KEK,AK,Ekwok +EKA,CA,Eureka +EKI,IN,Elkhart +EKN,WV,Elkins +EKO,NV,Elko +EKX,KY,Elizabethtown +ELA,TX,Eagle Lake +ELD,AR,El Dorado +ELK,OK,Elk City +ELM,NY,Elmira/Corning +ELN,WA,Ellensburg +LYU,MN,Ely +ELP,TX,El Paso +ELY,NV,Ely +ELZ,NY,Wellsville +EMM,WY,Kemmerer +EMP,KS,Emporia +EMT,CA,El Monte +END,OK,Enid +ENL,IL,Centralia +ENV,UT,Wendover +ENW,WI,Kenosha +EOK,IA,Keokuk +EPH,WA,Ephrata +EDK,KS,El Dorado +ERI,PA,Erie +ERR,NH,Errol +ERV,TX,Kerrville +ESC,MI,Escanaba +ESF,LA,Alexandria +ESN,MD,Easton +EST,IA,Estherville +ESW,WA,Easton +ETB,WI,West Bend +ETN,TX,Eastland +EUF,AL,Eufaula +EUG,OR,Eugene +EVM,MN,Eveleth +EVV,IN,Evansville +EVW,WY,Evanston +EWB,MA,New Bedford +EWK,KS,Newton +EWN,NC,New Bern +EWR,NJ,Newark +EYW,FL,Key West +WIB,TX,Vernon +RBK,CA,Murrieta/Temecula +FAF,VA,Fort Eustis +FAM,MO,Farmington +FAR,ND,Fargo +FAT,CA,Fresno +FAY,NC,Fayetteville +FBG,NC,Fort Bragg +FBL,MN,Faribault +FBR,WY,Fort Bridger +FBY,NE,Fairbury +FCH,CA,Fresno +FCM,MN,Minneapolis +FCS,CO,Fort Carson +FCT,WA,Yakima +FCY,AR,Forrest City +FDK,MD,Frederick +FDR,OK,Frederick +FDY,OH,Findlay +FEP,IL,Freeport +FET,NE,Fremont +FFA,NC,Kill Devil Hills +FFL,IA,Fairfield +FFM,MN,Fergus Falls +FFO,OH,Dayton +FFT,KY,Frankfort +MSC,AZ,Mesa +FRD,WA,Friday Harbor +FHU,AZ,Fort Huachuca Sierra Vista +FKL,PA,Franklin +FKN,VA,Franklin +FLD,WI,Fond du Lac +FLG,AZ,Flagstaff +FLL,FL,Fort Lauderdale +FLO,SC,Florence +FLP,AR,Flippin +FLU,NY,Queens +FLV,KS,Fort Leavenworth +FLX,NV,Fallon +FME,MD,Fort Meade(Odenton) +FMH,MA,Falmouth +FMN,NM,Farmington +FMY,FL,Fort Myers +FNL,CO,Fort Collins/Loveland +FNT,MI,Flint +FOD,IA,Fort Dodge +FOE,KS,Topeka +FOK,NY,Westhampton Beach +FIL,UT,Fillmore +FPR,FL,Fort Pierce +FRG,NY,Farmingdale +FRH,IN,French Lick +FRI,KS,Fort Riley(Junction City) +FRM,MN,Fairmont +FRR,VA,Front Royal +FSD,SD,Sioux Falls +FSI,OK,Fort Sill +FSK,KS,Fort Scott +FSM,AR,Fort Smith +FST,TX,Fort Stockton +FSU,NM,Fort Sumner +FMS,IA,Fort Madison +FTK,KY,Fort Knox +FTW,TX,Fort Worth +FTY,GA,Atlanta +FUL,CA,Fullerton +WFK,ME,Frenchville +FWA,IN,Fort Wayne +FXE,FL,Fort Lauderdale +FXY,IA,Forest City +FYM,TN,Fayetteville +FYV,AR,Fayetteville +GAG,OK,Gage +GAI,MD,Gaithersburg +GBD,KS,Great Bend +GBG,IL,Galesburg +GBR,MA,Great Barrington +GCC,WY,Gillette +JDA,OR,John Day +GCK,KS,Garden City +GCN,AZ,Grand Canyon +GCY,TN,Greeneville +GDM,MA,Gardner +GDV,MT,Glendive +GDW,MI,Gladwin +GED,DE,Georgetown +GEG,WA,Spokane +GEY,WY,Greybull +GFA,MT,Great Falls +GFK,ND,Grand Forks +GFL,NY,Glens Falls +GGE,SC,Georgetown +GGG,TX,Longview +GGW,MT,Glasgow +GHM,TN,Centerville +GIF,FL,Winter Haven +GJT,CO,Grand Junction +MEJ,PA,Meadville +GKT,TN,Sevierville +GLD,KS,Goodland +GLE,TX,Gainesville +GLH,MS,Greenville +GLR,MI,Gaylord +GLS,TX,Galveston +GLW,KY,Glasgow +GMU,SC,Greenville +GNG,ID,Gooding +GNT,NM,Grants +GNV,FL,Gainesville +GOK,OK,Guthrie +GON,CT,Groton (New London) +FCA,MT,Kalispell +GPT,MS,Gulfport +GPZ,MN,Grand Rapids +GQQ,OH,Galion +GRB,WI,Green Bay +GRD,SC,Greenwood +GRE,IL,Greenville +GRF,WA,Fort Lewis/Tacoma +GRI,NE,Grand Island +GRK,TX,Fort Hood/Killeen +GRN,NE,Gordon +GRR,MI,Grand Rapids +GSB,NC,Goldsboro +GSH,IN,Goshen +GSO,NC,Greensboro +GSP,SC,Greenville +GSW,TX,Fort Worth +GTF,MT,Great Falls +GTG,WI,Grantsburg +GTR,MS,Columbus/W Point/Starkville +GUC,CO,Gunnison +GUP,NM,Gallup +GUS,IN,Peru +GUY,OK,Guymon +GVL,GA,Gainesville +GVT,TX,Greenville +GVW,MO,Belton +GWO,MS,Greenwood +GWS,CO,Glenwood Springs +KGX,AK,Grayling +GXY,CO,Greeley +GDC,SC,Greenville +GYR,AZ,Goodyear +GYY,IN,Gary +KGZ,AK,Glacier Creek +HAB,AL,Hamilton +HAF,CA,Half Moon Bay +HAI,MI,Three Rivers +HAO,OH,Hamilton +HAX,OK,Muskogee +HDN,CO,Hayden +HGR,MD,Hagerstown +HUJ,OK,Hugo +HIB,MN,Hibbing +HKA,AR,Blytheville +HKS,MS,Jackson +HKY,NC,Hickory +HLB,IN,Batesville +HLC,KS,Hill City +HLG,WV,Wheeling +HLM,MI,Holland +HLN,MT,Helena +HLR,TX,Fort Hood(Killeen) +HMN,NM,Alamogordo +HMT,CA,Hemet +HNB,IN,Huntingburg +HSH,NV,Las Vegas +HOB,NM,Hobbs +HON,SD,Huron +HOP,KY,Fort Campbell/Hopkinsville +HOT,AR,Hot Springs +HOU,TX,Houston +HPN,NY,White Plains +HPT,IA,Hampton +HPY,TX,Baytown +HQM,WA,Hoquiam +HRL,TX,Harlingen +HRO,AR,Harrison +HSB,IL,Harrisburg +HNC,NC,Hatteras +HSI,NE,Hastings +HSP,VA,Hot Springs +HST,FL,Homestead +HSV,AL,Huntsville +HTO,NY,East Hampton +HTS,WV,Huntington +HUA,AL,Redstone Arsnl Huntsville +HUF,IN,Terre Haute +HUL,ME,Houlton +HUM,LA,Houma +HUT,KS,Hutchinson +HVE,UT,Hanksville +HVN,CT,New Haven +HVR,MT,Havre +HVS,SC,Hartsville +HWD,CA,Hayward +HWO,FL,Hollywood +WSH,NY,Shirley +HHH,SC,Hilton Head Island +HYA,MA,Hyannis +HYR,WI,Hayward +HYS,KS,Hays +HZL,PA,Hazleton +JFN,OH,Ashtabula +IAB,KS,Wichita +IAD,DC,Washington +IAG,NY,Niagara Falls +IAH,TX,Houston +KIB,AK,Ivanof Bay +ICL,IA,Clarinda +ICT,KS,Wichita +IDA,ID,Idaho Falls +IDI,PA,Indiana +IDP,KS,Independence +XPR,SD,Pine Ridge +IFA,IA,Iowa Falls +IFP,AZ,Bullhead City +IGM,AZ,Kingman +IKK,IL,Kankakee +ILE,TX,Killeen +ILG,DE,Wilmington +ILM,NC,Wilmington +ILN,OH,Wilmington +IML,NE,Imperial +IMM,FL,Immokalee +IMT,MI,Iron Mountain / Kingsford +IND,IN,Indianapolis +INK,TX,Wink +INL,MN,International Falls +INS,NV,Indian Springs +INT,NC,Winston Salem +INW,AZ,Winslow +IOW,IA,Iowa City +IPL,CA,Imperial +IPT,PA,Williamsport +IRK,MO,Kirksville +IRS,MI,Sturgis +ISM,FL,Orlando +ISN,ND,Williston +ISO,NC,Kinston +ISP,NY,Islip +ISQ,MI,Manistique +ISW,WI,Wisconsin Rapids +ITH,NY,Ithaca +AZA,AZ,Phoenix +IWD,MI,Ironwood +ISS,ME,Wiscasset +IWS,TX,Houston +JCI,KS,Olathe +IYK,CA,Inyokern +SQA,CA,Santa Ynez +FRY,ME,Fryeburg +JAC,WY,Jackson +JAN,MS,Jackson +JAS,TX,Jasper +JAX,FL,Jacksonville +JBR,AR,Jonesboro +JCT,TX,Junction +JDN,MT,Jordan +JEF,MO,Jefferson City +JFK,NY,New York +JHW,NY,Jamestown +GUF,AL,Gulf Shores +JLN,MO,Joplin +JMS,ND,Jamestown +JOT,IL,Joliet +JKV,TX,Jacksonville +JST,PA,Johnstown +JVL,WI,Janesville +JXN,MI,Jackson +KKB,AK,Kitoi Bay +KKI,AK,Akiachak +KIC,CA,King City +KKL,AK,Karluk Lake +KLS,WA,Kelso +KKU,AK,Ekuk +BXS,CA,Borrego Springs +RBF,CA,Big Bear +LAA,CO,Lamar +LAF,IN,Lafayette +LAL,FL,Lakeland +LAM,NM,Los Alamos +LAN,MI,Lansing +LAR,WY,Laramie +LAS,NV,Las Vegas +LAW,OK,Lawton +LAX,CA,Los Angeles +LBB,TX,Lubbock +LBE,PA,Latrobe +LBF,NE,North Platte +LBL,KS,Liberal +LBT,NC,Lumberton +LJN,TX,Angleton/Lake Jackson +LCH,LA,Lake Charles +LCI,NH,Laconia +LCK,OH,Columbus +LCQ,FL,Lake City +LDJ,NJ,Linden +LDM,MI,Ludington +LEB,NH,Lebanon +LEE,FL,Leesburg +LEM,SD,Lemmon +LEW,ME,Auburn/Lewiston +LEX,KY,Lexington +LFI,VA,Hampton +LFK,TX,Lufkin +LFT,LA,Lafayette +LGA,NY,New York +LGB,CA,Long Beach +LGC,GA,Lagrange +LGD,OR,La Grande +LGF,AZ,Yuma Proving Ground(Yuma) +LGU,UT,Logan +LHC,TN,Arlington +LHV,PA,Lock Haven +LIY,GA,Fort Stewart(Hinesville) +LFN,NC,Louisburg +LIC,CO,Limon +LIT,AR,Little Rock +LKP,NY,Lake Placid +LKV,OR,Lakeview +CHL,ID,Challis +LMS,MS,Louisville +LMT,OR,Klamath Falls +LNA,FL,West Palm Beach +LND,WY,Lander +LNK,NE,Lincoln +LNN,OH,Willoughby +LNP,VA,Wise +LNR,WI,Lone Rock +LNS,PA,Lancaster +LOL,NV,Lovelock +BBX,PA,Philadelphia +LOU,KY,Louisville +LRD,TX,Laredo +LRU,NM,Las Cruces +LSE,WI,La Crosse +LTS,OK,Altus +LUF,AZ,Glendale +LUK,OH,Cincinnati +LUL,MS,Laurel +LVK,CA,Livermore +LVL,VA,Lawrenceville +LVM,MT,Livingston +LVS,NM,Las Vegas +LWB,WV,Lewisburg +LWC,KS,Lawrence +LWL,NV,Wells +LWM,MA,Lawrence +LWS,ID,Lewiston +LWT,MT,Lewistown +LWV,IL,Lawrenceville +LXN,NE,Lexington +LXV,CO,Leadville +LYH,VA,Lynchburg +LYO,KS,Lyons +LZU,GA,Lawrenceville +MAC,GA,Macon +MAE,CA,Madera +MAF,TX,Midland +MAW,MO,Malden +MBL,MI,Manistee +MBS,MI,Saginaw +MCE,CA,Merced +MCI,MO,Kansas City +MCK,NE,Mc Cook +MCN,GA,Macon +MCO,FL,Orlando +MCW,IA,Mason City +MDH,IL,Carbondale/Murphysboro +XMD,SD,Madison +MDT,PA,Harrisburg +MDW,IL,Chicago +MEI,MS,Meridian +MEM,TN,Memphis +MFE,TX,Mc Allen +MFR,OR,Medford +MGM,AL,Montgomery +MGW,WV,Morgantown +MHK,KS,Manhattan +MHT,NH,Manchester +MHV,CA,Mojave +MIA,FL,Miami +MIE,IN,Muncie +MKC,MO,Kansas City +MKE,WI,Milwaukee +MKG,MI,Muskegon +MKL,TN,Jackson +MLB,FL,Melbourne +MLI,IL,Moline +MLS,MT,Miles City +MLU,LA,Monroe +MMH,CA,Mammoth Lakes +MMU,NJ,Morristown +MOB,AL,Mobile +MOD,CA,Modesto +MOT,ND,Minot +RMY,CA,Mariposa +MPV,VT,Barre/Montpelier +CTH,PA,Coatesville +MRY,CA,Monterey +MSL,AL,Muscle Shoals +MSN,WI,Madison +MSO,MT,Missoula +MSP,MN,Minneapolis +MSS,NY,Massena +MSY,LA,New Orleans +MTJ,CO,Montrose +MVC,AL,Monroeville +MVL,VT,Morrisville +MVY,MA,Martha's Vineyard +MWA,IL,Marion +MWL,TX,Mineral Wells +MYR,SC,Myrtle Beach +MZJ,AZ,Marana +MZZ,IN,Marion +NBG,LA,New Orleans +DGN,VA,Dahlgren +NEL,NJ,Lakehurst +FWH,TX,Fort Worth +NGZ,CA,Alameda +NOP,NY,New York +YUM,AZ,Yuma +NZY,CA,San Diego +NVN,CA,Beckwourth +COA,CA,Columbia +ODC,CA,Oakdale +EYR,NV,Yerington +OAJ,NC,Jacksonville +OAK,CA,Oakland +OAR,CA,Marina +OBE,FL,Okeechobee +OGS,NY,Ogdensburg +OKC,OK,Oklahoma City +ODW,WA,Oak Harbor +WGO,VA,Winchester +OLD,ME,Old Town +OLF,MT,Wolf Point +OLM,WA,Olympia +OLV,MS,Olive Branch +OMA,NE,Omaha +ONT,CA,Ontario +ORD,IL,Chicago +ORF,VA,Norfolk +ORH,MA,Worcester +ESD,WA,Eastsound +OSH,WI,Oshkosh +OTH,OR,North Bend +OTM,IA,Ottumwa +OWB,KY,Owensboro +OWD,MA,Norwood +KOY,AK,Olga Bay +BSQ,AZ,Bisbee +PXL,AZ,Polacca +GLB,AZ,Globe +HBK,AZ,Holbrook +CWX,AZ,Willcox +PAE,WA,Everett +PAH,KY,Paducah +PAM,FL,Panama City +PAO,CA,Palo Alto +KPB,AK,Point Baker +PBF,AR,Pine Bluff +PBG,NY,Plattsburgh +PBI,FL,West Palm Beach +PDK,GA,Atlanta +PDT,OR,Pendleton +PDX,OR,Portland +PFN,FL,Panama City +PGA,AZ,Page +PGV,NC,Greenville +PHF,VA,Newport News +ADR,SC,Andrews +PHL,PA,Philadelphia +PHT,TN,Paris +PHX,AZ,Phoenix +PIA,IL,Peoria +PIB,MS,Hattiesburg/Laurel +PIE,FL,St Petersburg-Clearwater +PIH,ID,Pocatello +PIR,SD,Pierre +PIT,PA,Pittsburgh +PKB,WV,Parkersburg +PLB,NY,Plattsburgh +PLN,MI,Pellston +PMD,CA,Palmdale +PNS,FL,Pensacola +POU,NY,Poughkeepsie +PQI,ME,Presque Isle +KPR,AK,Port Williams +PRC,AZ,Prescott +PSC,WA,Pasco +PSM,NH,Portsmouth +PGO,CO,Pagosa Springs +PSP,CA,Palm Springs +PUB,CO,Pueblo +PUW,WA,"Pullman/Moscow,Id" +PVC,MA,Provincetown +PVD,RI,Providence +PVZ,OH,Plainesville +PWM,ME,Portland +PWT,WA,Bremerton +KPY,AK,Port Bailey +KQA,AK,Akutan +RAL,CA,Riverside +RAP,SD,Rapid City +RBD,TX,Dallas +RBG,OR,Roseburg +RBW,SC,Walterboro +RCR,IN,Rochester +RCT,MI,Reed City +RDD,CA,Redding +RDG,PA,Reading +RDM,OR,Redmond +RDR,ND,Grand Forks +RDU,NC,Raleigh/Durham +RFD,IL,Chicago/Rockford +RHI,WI,Rhinelander +RIC,VA,Richmond +RIW,WY,Riverton +RKD,ME,Rockland +RKS,WY,Rock Springs +RNO,NV,Reno +ROA,VA,Roanoke +ROC,NY,Rochester +ROW,NM,Roswell +RPX,MT,Roundup +WBR,MI,Big Rapids +RQO,OK,El Reno +RST,MN,Rochester +RSW,FL,Fort Myers +RUT,VT,Rutland +RWI,NC,Rocky Mount +RXE,ID,Rexburg +RZZ,NC,Roanoke Rapids +AHM,OR,Ashland +BDY,OR,Bandon +SUO,OR,Sunriver +MDJ,OR,Madras +IDH,ID,Grangeville +VSK,WA,Kennewick +SAC,CA,Sacramento +SAD,AZ,Safford +SAF,NM,Santa Fe +SAN,CA,San Diego +SAR,IL,Sparta +SAT,TX,San Antonio +SAV,GA,Savannah +MQT,MI,Marquette +SBA,CA,Santa Barbara +SBD,CA,San Bernardino +SBM,WI,Sheboygan +SBN,IN,South Bend +SBP,CA,San Luis Obispo +SBS,CO,Steamboat Springs +SBX,MT,Shelby +SBY,MD,Salisbury +SDF,KY,Louisville +SDY,MT,Sidney +SEA,WA,Seattle +SFB,FL,Orlando +SFO,CA,San Francisco +SFZ,RI,Pawtucket +SGF,MO,Springfield +SGU,UT,St George +SHD,VA,Staunton/Waynesboro/Harrisonburg +SHR,WY,Sheridan +SHV,LA,Shreveport +SJC,CA,San Jose +SJN,AZ,St Johns +SJT,TX,San Angelo +SKA,WA,Spokane +SKF,TX,San Antonio +TSM,NM,Taos +SKY,OH,Sandusky +SLB,IA,Storm Lake +SLC,UT,Salt Lake City +SLE,OR,Salem +SLG,AR,Siloam Springs +SLK,NY,Saranac Lake +SLN,KS,Salina +SMF,CA,Sacramento +SMX,CA,Santa Maria +SNA,CA,Santa Ana +SOW,AZ,Show Low +SPI,IL,Springfield +SPS,TX,Wichita Falls +SRQ,FL,Sarasota/Bradenton +STC,MN,St Cloud +STL,MO,St Louis +STP,MN,St Paul +STS,CA,Santa Rosa +SUN,ID,Hailey +SUX,IA,Sioux City +SVC,NM,Silver City +SWF,NY,Newburgh +SYR,NY,Syracuse +TBC,AZ,Tuba City +TAD,CO,Trinidad +KTB,AK,Thorne Bay +TBN,MO,Fort Leonard Wood +TBR,GA,Statesboro +TCC,NM,Tucumcari +TCL,AL,Tuscaloosa +TCM,WA,Tacoma +TCS,NM,Truth Or Consequences +TDO,WA,Toledo +TDW,TX,Amarillo +TDZ,OH,Toledo +TEB,NJ,Teterboro +TEX,CO,Telluride +THA,TN,Tullahoma +KNT,MO,Kennett +TLH,FL,Tallahassee +TMA,GA,Tifton +TMB,FL,Miami +OTK,OR,Tillamook +XSD,NV,Tonopah +TOL,OH,Toledo +TPA,FL,Tampa +TPL,TX,Temple +TRI,TN,Bristol/Johnson/Kingsport +TKF,CA,Truckee +TTN,NJ,Trenton +TUL,OK,Tulsa +TUP,MS,Tupelo +TUS,AZ,Tucson +TVC,MI,Traverse City +TVF,MN,Thief River Falls +TVL,CA,South Lake Tahoe +TWF,ID,Twin Falls +TXK,AR,Texarkana +TYZ,AZ,Taylor +TYR,TX,Tyler +TYS,TN,Knoxville +BFG,UT,Glen Canyon Natl Rec Area +RVR,UT,Green River +ICS,ID,Cascade +UBS,MS,Columbus +UCA,NY,Utica +UIN,IL,Quincy +UIZ,MI,NA +IKB,NC,North Wilkesboro +ATO,OH,Athens/Albany +SCE,PA,State College +HTV,TX,Huntsville +NPT,RI,Newport +UVA,TX,Uvalde +VAD,GA,Valdosta +LLY,NJ,Mount Holly +VBG,CA,Lompoc +VCT,TX,Victoria +VCV,CA,Victorville +VEL,UT,Vernal +VIS,CA,Visalia +VLD,GA,Valdosta +VPS,FL,Valparaiso +VQQ,FL,Jacksonville +VRB,FL,Vero Beach +VSF,VT,Springfield +GTY,PA,Gettysburg +WAL,VA,Wallops Island +WAY,PA,Waynesburg +WBW,PA,Wilkes-Barre +WDG,OK,Enid +WDR,GA,Winder +KWF,AK,Waterfall +WHP,CA,Los Angeles +WJF,CA,Lancaster +KWK,AK,Kwigillingok +WLD,KS,Winfield/Arkansas City +WLW,CA,Willows +WMC,NV,Winnemucca +KWP,AK,West Point +WRB,GA,Warner Robins +WRI,NJ,Wrightstown +WRL,WY,Worland +WSD,NM,White Sands +WST,RI,Westerly +WVI,CA,Watsonville +WVL,ME,Waterville +WWD,NJ,Wildwood +WWR,OK,Woodward +WYS,MT,West Yellowstone +KYO,FL,Tampa +KXA,AK,Kasaan +XNA,AR,Fayetteville/Springdale/ +YIP,MI,Detroit +YKM,WA,Yakima +KYL,FL,Key Largo +YNG,OH,Youngstown/Warren +KZB,AK,Zachar Bay +ZPH,FL,Zephyrhills +ZZV,OH,Zanesville +AVX,CA,Avalon +LOR,AL,Fort Rucker Ozark +LRO,CA,Lathrop +LTH,NV,Amargosa Valley +DRU,MT,Drummond +MDR,AK,Medra +LIZ,ME,Limestone +MTX,AK,Fairbanks +EPG,NE,Weeping Water +O62,CA,NA +BZF,CA,Redding +OBK,IL,Northbrook +DWN,OK,Oklahoma City +AKB,AK,Atka +PML,AK,Cold Bay +PTD,AK,Port Alexander +PAQ,AK,Palmer +ATU,AK,Attu +BTI,AK,Barter Island Lrrs +BET,AK,Bethel +BVU,AK,Beluga +BIG,AK,Delta Junction Ft Greely +BKC,AK,Buckland +BMX,AK,Big Mountain +BRW,AK,Barrow +BTT,AK,Bettles +CDB,AK,Cold Bay +CEM,AK,Central +CIK,AK,Chalkyitsik +CYF,AK,Chefornak +SCM,AK,Scammon Bay +IRC,AK,Circle +CDV,AK,Cordova +CXF,AK,Coldfoot +CYT,AK,Yakataga +CZF,AK,Cape Romanzof +DRG,AK,Deering +RDB,AK,Red Dog +ADK,AK,Adak Island +DLG,AK,Dillingham +ADQ,AK,Kodiak +DUT,AK,Unalaska +KKH,AK,Kongiganak +EDF,AK,Anchorage +EEK,AK,Eek +EAA,AK,Eagle +EHM,AK,Cape Newenham +EIL,AK,Fairbanks +ELV,AK,Elfin Cove +EMK,AK,Emmonak +ENA,AK,Kenai +FAI,AK,Fairbanks +FBK,AK,Fairbanks/Ft Wainwright +ABL,AK,Ambler +FRN,AK,Fort Richardson(Anchorage) +FMC,AK,Five Mile +FWL,AK,Farewell +GAL,AK,Galena +GBH,AK,Galbraith Lake +GKN,AK,Gulkana +GLV,AK,Golovin +GAM,AK,Gambell +AGN,AK,Angoon +BGQ,AK,Big Lake +GST,AK,Gustavus +SGY,AK,Skagway +HCR,AK,Holy Cross +HSL,AK,Huslia +HNS,AK,Haines +HOM,AK,Homer +HPB,AK,Hooper Bay +HUS,AK,Hughes +SHX,AK,Shageluk +HYG,AK,Hydaburg +IGG,AK,Igiugig +EGX,AK,Egegik +IAN,AK,Kiana +ILI,AK,Iliamna +UTO,AK,Utopia Creek +MCL,AK,McKinley Park +WAA,AK,Wales +JNU,AK,Juneau +KGK,AK,Koliganek +KDK,AK,Kodiak +KFP,AK,False Pass +AKK,AK,Akhiok +KPN,AK,Kipnuk +KKA,AK,Koyuk +LKK,AK,Kulik Lake +AKN,AK,King Salmon +IKO,AK,Nikolski +AKP,AK,Anaktuvuk Pass +KTN,AK,Ketchikan +UUK,AK,Kuparuk +KAL,AK,Kaltag +KLW,AK,Klawock +KYK,AK,Karluk +KLN,AK,Larsen Bay +KLG,AK,Kalskag +DQH,AK,Deadhorse +WCR,AK,Chandalar Lake +LUR,AK,Cape Lisburne +KMO,AK,Manokotak +MCG,AK,McGrath +MDO,AK,Middleton Island +MLY,AK,Manley Hot Springs +MOU,AK,Mountain Village +MRI,AK,Anchorage +MYU,AK,Mekoryuk +WNA,AK,Napakiak +ANC,AK,Anchorage +ANI,AK,Aniak +ENN,AK,Nenana +FNR,AK,Funter Bay +ANN,AK,Annette +ANV,AK,Anvik +KNW,AK,New Stuyahok +OBU,AK,Kobuk +PCA,AK,Portage Creek +HNH,AK,Hoonah +OME,AK,Nome +OOK,AK,Toksook Bay +ORT,AK,Northway +OTZ,AK,Kotzebue +STG,AK,St George +KPC,AK,Port Clarence +KPV,AK,Perryville +PSG,AK,Petersburg +PTH,AK,Port Heiden +PKA,AK,Napaskiak +PTU,AK,Platinum +PIP,AK,Pilot Point +PHO,AK,Point Hope +KWN,AK,Quinhagak +NUI,AK,Nuiqsut +ARC,AK,Arctic Village +RBY,AK,Ruby +SVA,AK,Savoonga +SCC,AK,Deadhorse +SDP,AK,Sand Point +SHH,AK,Shishmaref +SIT,AK,Sitka +WLK,AK,Selawik +SQL,AK,Sleetmute +KSM,AK,St Mary's +SNP,AK,St Paul Island +SMU,AK,Sheep Mountain +UMM,AK,Summit +SVW,AK,Sparrevohn +SKW,AK,Skwentna +SXQ,AK,Soldotna +SYA,AK,Shemya +TAL,AK,Tanana +TNC,AK,Tin City +TLA,AK,Teller +TOG,AK,Togiak Village +TKJ,AK,Tok +TLJ,AK,Takotna +ATK,AK,Atqasuk +AUK,AK,Alakanuk +UMT,AK,Umiat +UNK,AK,Unalakleet +WOW,AK,Willow +VAK,AK,Chevak +KVC,AK,King Cove +VDZ,AK,Valdez +VEE,AK,Venetie +KVL,AK,Kivalina +WBQ,AK,Beaver +SWD,AK,Seward +WRG,AK,Wrangell +AIN,AK,Wainwright +WMO,AK,White Mountain +WTK,AK,Noatak +WWA,AK,Wasilla +YAK,AK,Yakutat +AKI,AK,Akiak +AET,AK,Allakaket +PFC,OR,Pacific City +NCN,AK,Chenega +CLP,AK,Clarks Point +ELI,AK,Elim +KUK,AK,Kasigluk +KNK,AK,Kokhanok +KOT,AK,Kotlik +KTS,AK,Brevig Mission +KYU,AK,Koyukuk +KWT,AK,Kwethluk +ORV,AK,Noorvik +SKK,AK,Shaktoolik +WSN,AK,South Naknek +FYU,AK,Fort Yukon +BKH,HI,Kekaha +HDH,HI,Mokuleia +HHI,HI,Wahiawa +HNM,HI,Hana +JHM,HI,Lahaina +JRF,HI,Kapolei +KOA,HI,Kailua/Kona +LIH,HI,Lihue +LUP,HI,Kalaupapa +MKK,HI,Kaunakakai +MUE,HI,Kamuela +HNL,HI,Honolulu +LNY,HI,Lanai City +OGG,HI,Kahului +PAK,HI,Hanapepe +BSF,HI,Camp Pohakuloa +ITO,HI,Hilo +UPP,HI,Hawi +PIZ,AK,Point Lay +PWR,AK,Port Walter +PYL,AK,Perry Island +RDV,AK,Red Devil +REH,DE,Rehoboth Beach +LPS,WA,Lopez +KEH,WA,Kenmore +SAG,AK,Sagwon +SAS,CA,Salton City +SBT,CA,San Bernardino +SKJ,AK,Sitkinak Island +SRV,AK,Stony River +SYB,AK,Seal Bay +SYL,CA,Camp Roberts/San Miguel +SYN,MN,Stanton +SZN,CA,Santa Barbara +SZP,CA,Santa Paula +TCT,AK,Takotna +TKL,AK,Taku Lodge +TLT,AK,Tuluksak +PTA,AK,Port Alsworth +TSG,AK,Tanacross +TWH,CA,Two Harbors +DBS,ID,Dubois +UGB,AK,Pilot Point +BPA,NY,Bethpage +GMV,UT,Goulding's Lodge +VKX,MD,Friendly +FBS,WA,Friday Harbor +RSJ,WA,Rosario +LKE,WA,Seattle +WSX,WA,Westsound +WBB,AK,Stebbins +WEA,TX,Weatherford +JBK,CA,Oakland +DTR,WA,Decatur +WSB,AK,Steamboat Bay +WSJ,AK,San Juan +WSM,AK,Wiseman +GWV,WV,Glendale +WWT,AK,Newtok +BCC,AK,Bear Creek +JBT,AK,Bethel +CZP,AK,Cape Pole +KBW,AK,Chignik +KBC,AK,Birch Creek +CZC,AK,Copper Center +ZNC,AK,Nyac +SJU,PR,San Juan diff --git a/curso_dplyr.R b/curso_dplyr.R new file mode 100644 index 0000000..f7d70ea --- /dev/null +++ b/curso_dplyr.R @@ -0,0 +1,390 @@ +############################################################# +############-----Manipulacion de datos con DPLYR-----############################### +############################################################ + +#Instalar y cargar las librerias que necesitaremos hoy +install.packages("hflights") +install.packages("dplyr") +install.packages("readxl") + +library(dplyr) +library(hflights) +library(readr) + +#Trabajaremos con el dataframe hflights +#Cada fila representa un vuelo con origen en alguno de los dos aeropuertos internacioanles de Houston (IAH y HOU) +#almacenaremos el dataframe en una variable que llamaremos flights + +flights <- hflights[sample(nrow(hflights)),] #aleatorizar el orden de los registros, para propositos didacticos +flights <- as_tibble(flights) #convertir el dataframe en un tibble, para propositos didacticos + +#la funcion glimpse(), de dplyr, nos permite echar un vistazo de la informacion contenida en el dataframe +glimpse(flights) + + + +#---------------------VERBO SELECT-------------------------------------# +#utilizamos el verbo select para definir las columnas que deseamos mantener +names(flights) + +#select en su forma mas basica +select(flights, FlightNum, UniqueCarrier, Dest) +select(flights, -FlightNum, -UniqueCarrier, -Dest) + +#importante: los verbos de dplyr no modificaran el dataframe original +#si deseamos almacenar el resultado debemos asignarlo a una variable, como flighst 2 +flights_2 <- select(flights, FlightNum, UniqueCarrier, Dest) +glimpse(flights_2) + +#seleccionar/eliminar un rango de columnas +select(flights, FlightNum:Dest) +select(flights, -Year:-Month) + +#seleccionar con base en el nombre de la columna +select(flights, contains("Time")) +select(flights, starts_with("Day")) +select(flights, ends_with("Num")) + + +#PRACTICA +#1) Seleccionar desde la columna "Year" hasta la columna "UniqueCarrier" +#2) Seleccionar todas las columnas del dataframe excepto las ultimas 3 (desde "Cancelled" hasta "Diverted") +#3) Seleccionat todas las columnas cuyo nombre terminen con "Delay" +#Tip: pueden usar names(flights) para ver el nombre de las columnas + + +#--------------VERBO FILTER----------------------------------# +#utilizamos el verbo filter para mantener o eliminar registros (filas) con base en una o mas condiciones + +#operaciones booleanas - repaso +1200 == 1200 +1200 != 1200 +1200 < 1500 +1200 > 1500 + +'CR' == "CR" +'CR' == "cr" +'CR' %in% c('CR', 'NI', 'GT') + +#filtrar con base en una sola condicion +filter(flights, DepTime > 1200) +filter(flights, UniqueCarrier %in% c('AA', 'OO')) + +#filtrar registros que no cumplen la condicion (!) +filter(flights, !UniqueCarrier %in% c('AA', 'OO')) + +#filtrar con base en dos condiciones, separadas por coma . Ambas deben cumplirse. +filter(flights, + UniqueCarrier == "AA", + DepTime < 1200) + +#filter con base en dos condiciones (cualquiera de las dos puede cumplirse) +filter(flights, Month >= 10 | Month <= 3) + + +#PRACTICA +#1) Filtrar los vuelos proveneientes de HOU +#2) Filtar los vuelos cuyo tiempo de vuelo (AirTime) fue menor a 120 minutos, en el mes de Diciembre + + +#--------------VERBO ARRANGE---------------------------------------------------# +#el verbo arrange nos permite ordenar los registros con base en el valor de una columna + +#ordenar con base en una variable, en orden ascendente (de menor a mayor) - por defecto +arrange(flights, DepTime) + +#ordenar con base en una variable, en orden descendente (de mayor a menor) +arrange(flights, desc(DepTime)) + + +#------------------- VERBO MUTATE ---------------------------------------------# +#el verbo mutate nos permite crear nuevas columnas con base en los valores de una o mas columnas existentes + +#vamos a empezar por crear un dataset con solo algunas columnas de interes +#lo llamaremos flights_3 +flights_3 <- select(flights, UniqueCarrier, FlightNum, Dest, Distance, AirTime) + +#crear una columna nueva: time_hours +#es necesario especificar el nombre de la nueva columna +mutate(flights_3, time_hours = round(AirTime/60, 2)) + +#crear 2 columnas nuevas, separdas por coma +mutate(flights_3, + time_hours = round(AirTime/60, 2), + carrier_flight = paste(UniqueCarrier, FlightNum)) + +#una ventaja de mutate es que podemos crear columnas nuevas con base en columnas que acabamos de crear +mutate(flights_3, + time_hours = round(AirTime/60, 2), + speed_mph = Distance/time_hours) + +#IMPORTANTE: si asignamos una nueva variable a una columna que ya existe, dplyr la sobreescribira, +#perdiendo la infomacion original + +#un comando muy util a la hora de usar mutate es if_else() para crear categorias binarias +mutate(flights_3, + dist_time = if_else(AirTime < 120, "Short", "Long")) + +#si necesitamos crear 3 o mas categorias, podemos utilizar case_when() +mutate(flights_3, + dist_time = case_when(AirTime < 60 ~ "Short", + AirTime < 120 ~ "Medium", + TRUE ~ "Long")) + + +#PRACTICA + +#1) Usar el verbo select() sobre el dataset flights para seleccionar las columnas: +# FlightNum, DepTime, TaxiIn y TaxiOut y ActualElapsedTime +# asingar el resultado a flights_4 + +#2) +#a) Crear una nueva columna llamada TotalTaxiTime: TaxiIn + TaxiOut +#b) En el mismo comando crear una columna llamada TaxiTimePerc: TotalTaxiTime / ActualElapsedTime + +#3) Utilizando flights_4, crear una nueva columna categorica llamada "FlightType" que va a ser" +# "early" si DepTime < 1200, "late" en todos los demas casos +# tip: utilizar if_else() + + +#--------------PIPES Y OPERACIONES EN SECUENCIA -------------------------# + +#que tal si queremos realiizar dos o mas operaciones en el dataset, una despues de la otra? +#supongamos que deseamos crear la variables time_hours +#y posteriormente ordenar el dataset con base en este valor +#tenemos varias opciones para lograrlo + +#OPCION # 1 - Crear un dataset intermedio y luego alimentarlo a la siguiente operacion +flights_hours <- mutate(flights_3, time_hours = round(AirTime/60, 2)) +arrange(flights_hours, time_hours) +#desventaja: empezamos a almacenar mas tablas, lo que eventualmente puede limitar la memoria + +#OPCION # 2 - Anidar las operaciones +arrange(mutate(flights_3, time_hours = round(AirTime/60, 2)), time_hours) +#desventaja: se vuelve dificil de leer y diferenciar que argumento pertenece a que funcion + + +#OPCION # 3 - Utilizar pipes +#afortunadamente, dplyr cuenta con el pipe (%>%), el cual toma prestado del paquete magrittr +#el pipe nos permite tomar el resultado de una operacion, y alimentarlo a la siguiente +#el atajo para crear un pipe en R Studio es Ctrl + Shift + M + + +#empecemos con un ejemplo sencillo: +#la funcion round() tiene dos argumentos: + #el primero es el numero que deseamos redondear + #el segundo es la cantidad de decimales +round(7.3468, 2) + +#el pipe nos permite alimentar el primer argumento a una funcion "desde afuera" de ella +7.3468 %>% round(2) + +#ahora en combinacion con dplyr para resolver el ejemplo anterior +flights_3 %>% + mutate(time_hours = round(AirTime/60, 2)) %>% #1 - crear la nueva variable time_hours con mutate + arrange(time_hours) #2 - ordenar el dataframe con base en esta nueva variable + +#notar que ya no llamamos a flights_3 dentro del mutate(), esto porque con el pipe ya les estamos +#especificando que el primer argumento es el objeto que precede al pipe, flights3 en este caso + +#ahora utilizaremos todos los verbos en una sola operacion +flights %>% + select(UniqueCarrier, FlightNum, Dest, Distance, AirTime) %>% #1 - seleccionar las columnas de interes + mutate(time_hours = round(AirTime/60, 2), + speed_mph = Distance/time_hours) %>% #2 - crear dos nuevas variables + filter(time_hours > 4) %>% #3 - filtrar los registros de interes + arrange(speed_mph) #4 - ordenar el dataset con base en la variables speed_mph + + +#Por que utilizar pipes? +#1) es mas eficiente escribir codigo (menos lineas) +#2) mayor legibilidad, orden y limpieza en el codigo - mayor facilidad para detectar y corregir errores +#3) es mas facil eliminar o agregar pasos intermedios +#4) estan disenados para trabajar con los verbos de dplyr de una manera intuitiva + + +#PRACTICA + +#1) Utilizando el dataset flights, realizar las siguientes operaciones en secuencia con pipes: + #a) seleccionar las columnas FlightNum, UniqueCarrier, TaxiIn, TaxiOut + #b) filtar los vuelos operados por American Airlines (UniqueCarrier == "AA") + #c) crear una nueva columna llamada TotalTaxiTime: TaxiIn + TaxiOut + #d) ordenar los resultados de manera descente con base en TotalTaxiTime + + +#-------------------VERBOS SUMMARIZE y GROUP_BY---------------------------------------------# + +#hasta ahora el resultado de nuestras operaciones ha mantenido la misma granularidad del dataset original +#cada fila sigue representando un vuelo +#que tal si quisieramos agregar los datos con base en alguna variables categorica, como UniqueCarrier? +#para esto utilizaremos los verbos summarize() y group_by() + + +#el verbo summarize() nos permite aplicar funciones agregadas a un set de datos +#por ejemplo: sum(), mean(), max() y sd() +#el resultado es un resumen de todo el dataset: un dataframe de una sola fila + +#summarize con una sola metrica agregada: mean() +#al igual que con mutate(), es necesario especificar el nombre de la nueva columna +summarize(flights, avg_distance = mean(Distance)) + +#podemos utilizar pipes tambien +flights %>% + summarize(avg_distance = mean(Distance)) + +#crear 2 o mas metricas agregadas +flights %>% + summarize(avg_distance = mean(Distance), #distancia promedio + max_distance = max(Distance), #distancia maxima + flight_count = n(), #conteo de filas + destinations = n_distinct(Dest)) #conteo de valores distintos en la columna Dest + +#una practica comun es combinar summarize con operaciones booleanas +#aprovechamos el hecho de que TRUE y FALSE tienen un valor de 1 y 0 respectivamente +#para determinar que cantidad y porcentaje de observaciones cumplen una condicion + +#como lo hariamos en base R +flights$Distance #vector con las distancias +flights$Distance > 500 #vector booleano (TRUE si cumple la condicion, FALSE en caso contrario) +sum(flights$Distance > 500) #cantidad de 1s en el vector (TRUEs) +mean(flights$Distance > 500) #porcentaje de 1s en el vector (% observaciones que cumplen la condicion) + +#ahora con dplyr +flights %>% + summarize(count_over_500 = sum(Distance > 500), + perc_over_500 = mean(Distance > 500)) + +#utilizando mas de una condicion +flights %>% + summarize(count_500_to_1000 = sum(Distance > 500 & Distance < 1000), + perc_500_to_1000 = mean(Distance > 500 & Distance < 1000)) + + +#combinando filter y summarize para obtener las metricas para American Airline unicamente +#notese lo sencillo que resulta agregar un paso intermedio +flights %>% + filter(UniqueCarrier == "AA") %>% + summarize(count_over_500 = sum(Distance > 500), + perc_over_500 = mean(Distance > 500)) + + +#--------------GROUP_BY-------------------------# + +#que tal si quisieramos calcular las metricas agregadas para cada una de las aerolineas, y no para el total? +#podemos hacerlo agregando un group_by() antes del verbo summarize() +flights %>% + group_by(UniqueCarrier) %>% + summarize(avg_distance = mean(Distance), #distancia promedio + max_distance = max(Distance), #distancia maxima + flight_count = n(), #conteo de filas + destinations = n_distinct(Dest)) #conteo de valores distintos en la columna Dest + +#podemos agregar un arrange() despues del summarize para ordenar los resultados con base en "destinations" +#como el input de este arrange() es el dataset agregado, debemos utilizar los nombres de las columnas de este nuevo dataset +flights %>% + group_by(UniqueCarrier) %>% + summarize(avg_distance = mean(Distance), #distancia promedio + max_distance = max(Distance), #distancia maxima + flight_count = n(), #conteo de filas + destinations = n_distinct(Dest)) %>% #conteo de valores distintos en la columna Dest + arrange(desc(destinations)) + + +#PRACTICA + +#1) La columna Cancelled, del dataset flights, contiene un 1 si el vuelo fue cancelado y un 0 en caso contrario + #usando summarize() calcule el total de vuelos cancelados (sum) y el porcentaje de vuelos cancelados (mean) para todo el dataset + #llame a las columnas cancelled_tot y cancelled_perc + +#2) Repita el ejercicio anterior, pero esta vez agrupe por UniqueCarrier para obtener los resultados por aerolinea + #ordene los resultados de mayor a menor con base en la nueva columna cancelled_perc + + +#--------------------JOINS CON DPLYR-------------------------# + +#-------------------------LEFT JOIN-------------------------# + +#Muchas veces tenemos informacion en 2 o mas tablas, y nos interesa unirlas con base en alguna llave +#para enriquecer nuestra data original con nuevas variables +#en este caso nos interesa tener mas informacion sobre el destino de cada uno de los vuelos del dataset flights + +#importamos el csv airports_us_simplified.csv y lo almacenamos en airports +airports <- read_csv("airports_us_simplified.csv") + +#utilizamos glimpse para darnos una idea de la informacion que contiene +airports %>% glimpse() + + +#utilizamos left_join() para "traer" informacion del segundo dataset +#en este caso, vamos "agregar" informacion para cada uno de los destinos +#siempre es importante especificar con base en que columnas vamos a hacer la union +flights_expanded <- left_join(flights, airports, by = c("Dest" = "Code")) + +#tenemos dos columnas adicionales provenientes de airports, que corresponden al estado y la ciudad del destino +flights_expanded %>% glimpse() + +#pudimos haber hecho el join con pipes de igual manera +flights_expanded <- flights %>% + left_join(airports, by = c("Dest" = "Code")) + +#podemos combinar left_join con otros verbos de dplyr(), como en el siguiente ejemplo +flights %>% + left_join(airports, by = c("Dest" = "Code")) %>% #unir con airports + select(UniqueCarrier, FlightNum, Dest, State, City) %>% #seleccionar las columnas de interes + group_by(State) %>% #agrupar por estado + summarise(flights_count = n()) %>% #conteo de vuelos por estado + arrange(desc(flights_count)) #ordenar estados con base en el conteo de vuelos, de mayor a menor + + + + +#--------------SEMI JOIN & ANTI JOIN-------------------------# + +#En ocasiones, no nos interesa "enriquecer" nuetra data con nuevas columnas provenientes de otra tabla, +#sino filtrar registros de la tabla A existentes en la tabla B, o eliminarlos +#para esta tarea podemos utilizar semi_join() y anti_join() + + +#importar la tabla worldcup_teams.csv +world_cups <- read_csv("worldcup_teams.csv") + +#echamos un vistazo con glimpse() +world_cups %>% glimpse() + +#creamos un dataset de los registros del mundial del 2018 con filter +#lo asignamos a world_cup_2018 +world_cup_2018 <- world_cups %>% + filter(year == 2018) %>% #filtrar el anno de interes + select(-year) #eliminar la columna year + +world_cup_2018 %>% glimpse() + +#hacer lo mismo para el mundial del 2014 +#lo asignamos a world_cup_2014 +world_cup_2014 <- world_cups %>% + filter(year == 2014) %>% #filtrar el anno de interes + select(-year) + +glimpse(world_cup_2014) + + +#semi_join() nos permite filtar registros del dataset de la izquierda que tambien estan en el dataset de la derecha +#a diferencia del left_join(), no agrega ninguna variable del dataset de la derecha + +#que paises presentes en el Mundial 2018 tambien estuvieron presentes en el Mundial 2014? +world_cup_2018 %>% + semi_join(world_cup_2014, by = c("Code" = "Code")) + + +#anti_join() funciona de manera similar a semi_join(), +#con la diferencia de que filtra registros del dataset de la izquierda que NO estan en el dataset de la derecha + +#que paises presentes en el Mundial 2018 NO estuvieron presentes en el Mundial 2014? +world_cup_2018 %>% + anti_join(world_cup_2014, by = c("Code" = "Code")) + + +#para cerrar, un doloroso ejemplo con left_join :( +fifa_14 %>% + left_join(fifa_18, by = c("Code" = "Code")) %>% + filter(Code == "CRI") diff --git a/worldcup_teams.csv b/worldcup_teams.csv new file mode 100644 index 0000000..24996d9 --- /dev/null +++ b/worldcup_teams.csv @@ -0,0 +1,129 @@ +year,Code,Country,Rank +2006,ITA,Italy,1 +2006,FRA,France,2 +2006,DEU,Germany,3 +2006,PRT,Portugal,4 +2006,BRA,Brazil,5 +2006,ARG,Argentina,6 +2006,ENG,England,7 +2006,UKR,Ukraine,8 +2006,ESP,Spain,9 +2006,CHE,Switzerland,10 +2006,NLD,Netherlands,11 +2006,ECU,Ecuador,12 +2006,GHA,Ghana,13 +2006,SWE,Sweden,14 +2006,MEX,Mexico,15 +2006,AUS,Australia,16 +2006,KOR,South Korea,17 +2006,PRY,Paraguay,18 +2006,CIV,Ivory Coast,19 +2006,CZE,Czech Republic,20 +2006,POL,Poland,21 +2006,HRV,Croatia,22 +2006,AGO,Angola,23 +2006,TUN,Tunisia,24 +2006,IRN,Iran,25 +2006,USA,United States,26 +2006,TTO,Trinidad and Tobago,27 +2006,JPN,Japan,28 +2006,SAU,Saudi Arabia,29 +2006,TGO,Togo,30 +2006,CRI,Costa Rica,31 +2006,SRB,Serbia,32 +2010,ESP,Spain,1 +2010,NLD,Netherlands,2 +2010,DEU,Germany,3 +2010,URY,Uruguay,4 +2010,ARG,Argentina,5 +2010,BRA,Brazil,6 +2010,GHA,Ghana,7 +2010,PRY,Paraguay,8 +2010,JPN,Japan,9 +2010,CHL,Chile,10 +2010,PRT,Portugal,11 +2010,USA,United States,12 +2010,ENG,England,13 +2010,MEX,Mexico,14 +2010,KOR,South Korea,15 +2010,SVK,Slovakia,16 +2010,CIV,Ivory Coast,17 +2010,SVN,Slovenia,18 +2010,CHE,Switzerland,19 +2010,ZAF,South Africa,20 +2010,AUS,Australia,21 +2010,NZL,New Zealand,22 +2010,SRB,Serbia,23 +2010,DNK,Denmark,24 +2010,GRC,Greece,25 +2010,ITA,Italy,26 +2010,NGA,Nigeria,27 +2010,DZA,Algeria,28 +2010,FRA,France,29 +2010,HND,Honduras,30 +2010,CMR,Cameroon,31 +2010,PRK,North Korea,32 +2014,DEU,Germany,1 +2014,ARG,Argentina,2 +2014,NLD,Netherlands,3 +2014,BRA,Brazil,4 +2014,COL,Colombia,5 +2014,BEL,Belgium,6 +2014,FRA,France,7 +2014,CRI,Costa Rica,8 +2014,CHL,Chile,9 +2014,MEX,Mexico,10 +2014,CHE,Switzerland,11 +2014,URY,Uruguay,12 +2014,GRC,Greece,13 +2014,DZA,Algeria,14 +2014,USA,United States,15 +2014,NGA,Nigeria,16 +2014,ECU,Ecuador,17 +2014,PRT,Portugal,18 +2014,HRV,Croatia,19 +2014,BIH,Bosnia and Herzegovina,20 +2014,CIV,Ivory Coast,21 +2014,ITA,Italy,22 +2014,ESP,Spain,23 +2014,RUS,Russia,24 +2014,GHA,Ghana,25 +2014,ENG,England,26 +2014,KOR,South Korea,27 +2014,IRN,Iran,28 +2014,JPN,Japan,29 +2014,AUS,Australia,30 +2014,HND,Honduras,31 +2014,CMR,Cameroon,32 +2018,FRA,France,1 +2018,HRV,Croatia,2 +2018,BEL,Belgium,3 +2018,ENG,England,4 +2018,URY,Uruguay,5 +2018,BRA,Brazil,6 +2018,SWE,Sweden,7 +2018,RUS,Russia,8 +2018,COL,Colombia,9 +2018,ESP,Spain,10 +2018,DNK,Denmark,11 +2018,MEX,Mexico,12 +2018,PRT,Portugal,13 +2018,CHE,Switzerland,14 +2018,JPN,Japan,15 +2018,ARG,Argentina,16 +2018,SEN,Senegal,17 +2018,IRN,Iran,18 +2018,KOR,South Korea,19 +2018,PER,Peru,20 +2018,NGA,Nigeria,21 +2018,DEU,Germany,22 +2018,SRB,Serbia,22 +2018,TUN,Tunisia,24 +2018,POL,Poland,25 +2018,SAU,Saudi Arabia,26 +2018,MAR,Morocco,27 +2018,AUS,Australia,28 +2018,CRI,Costa Rica,28 +2018,ISL,Iceland,28 +2018,EGY,Egypt,31 +2018,PAN,Panama,32