/* SAS program to accompany the article "The high school rankings of top NCAA wrestlers" by Rick Wicklin, publishe 25MAR2016 on The DO Loop, http://blogs.sas.com/content/iml/2016/03/25/high-school-ranking-wrestlers.html The data and the idea for this post are from Josh Lowe's article "Where were Division I All-Americans ranked in high school?" published 22MAR2016 http://intermatwrestle.com/articles/16192 */ data Wrestling2016; input Weight Place Name $ 6-22 School $ 23-47 HSRankC $ 48-50 HSYear; if HSRankC='WC' then HSRank = 110; else if HSRankC='NR' then HSRank = 120; else HSRank = input(HSRankC, 3.); label HSRank = "High School Ranking" Place = "Place in 2016 NCAA Tournament"; datalines; 125 1 Nico Megaludis Penn State 5 2011 125 2 Thomas Gilman Iowa 10 2012 125 3 Nathan Tomasello Ohio State 15 2013 125 4 David Terao American NR 2011 125 5 Conor Youtsey Michigan 60 2011 125 6 Dylan Peters Northern Iowa 65 2012 125 7 Ryan Millhof Oklahoma 38 2014 125 8 Connor Schram Stanford 24 2013 133 1 Nahshon Garrett Cornell 49 2011 133 2 Corey Clark Iowa 15 2012 133 3 Cody Brewer Oklahoma 42 2011 133 4 Zane Richards Illinois 21 2012 133 5 Eric Montoya Nebraska NR 2012 133 6 Jordan Conaway Penn State WC 2011 133 7 Earl Hall Iowa State 84 2011 133 8 Jade Rauser Utah Valley 32 2011 141 1 Dean Heil Oklahoma State 17 2013 141 2 Bryce Meredith Wyoming NR 2014 141 3 Joey McKenna Stanford 8 2014 141 4 Anthony Ashnault Rutgers 7 2013 141 5 Chris Mecate Old Dominion 75 2011 141 6 Solomon Chishko Virginia Tech 11 2014 141 7 Joey Ward North Carolina 33 2012 141 8 Randy Cruz Lehigh 37 2012 149 1 Zain Retherford Penn State 3 2013 149 2 Brandon Sorensen Iowa 62 2013 149 3 Lavion Mayes Missouri NR 2012 149 4 Anthony Collica Oklahoma State 20 2013 149 5 Mike DePalma Kent State NR 2011 149 6 Alec Pantaleo Michigan NR 2014 149 7 Justin Oliver Central Michigan 99 2014 149 8 Geo Martinez Boise State NR 2013 157 1 Isaiah Martinez Illinois 5 2013 157 2 Jason Nolf Penn State 7 2014 157 3 Nick Brascetta Virginia Tech 37 2011 157 4 Dylan Palacio Cornell 64 2012 157 5 Chad Walsh Rider 91 2014 157 6 Ian Miller Kent State 45 2011 157 7 Joe Smith Oklahoma State 16 2015 157 8 Tommy Gantt North Carolina State NR 2011 165 1 Alex Dieringer Oklahoma State 15 2011 165 2 Isaac Jordan Wisconsin 19 2012 165 3 Bo Jordan Ohio State 1 2013 165 4 Daniel Lewis Missouri 34 2014 165 5 Steven Rodrigues Illinois 90 2011 165 6 David McFadden Virginia Tech 12 2015 165 7 Austin Wilson Nebraska WC 2011 165 8 Anthony Perrotti Rutgers WC 2011 174 1 Myles Martin Ohio State 4 2015 174 2 Bo Nickal Penn State 5 2014 174 3 Zach Epperly Virginia Tech 26 2013 174 4 Casey Kent Penn NR 2012 174 5 Nathan Jackson Indiana NR 2012 174 6 Lelund Weatherspoon Iowa State NR 2012 174 7 Cody Walters Ohio NR 2011 174 8 Alex Meyer Iowa 49 2012 184 1 Gabe Dean Cornell WC 2012 184 2 T.J. Dudley Nebraska 17 2012 184 3 Pete Renda North Carolina State 54 2013 184 4 Nolan Boyd Oklahoma State 100 2012 184 5 Matthew Miller Navy NR 2011 184 6 Willie Miklus Missouri 27 2012 184 7 Nate Brown Lehigh 52 2011 184 8 Sammy Brooks Iowa 14 2012 197 1 J'den Cox Missouri 6 2013 197 2 Morgan McIntosh Penn State 1 2011 197 3 Brett Pfarr Minnesota NR 2012 197 4 Nathan Burak Iowa NR 2011 197 5 Patrick Downey Iowa State NR 2011 197 6 Jared Haught Virginia Tech 68 2013 197 7 Conner Hartmann Duke NR 2011 197 8 Brett Harner Princeton 45 2013 285 1 Kyle Snyder Ohio State 1 2014 285 2 Nick Gwiazdowski North Carolina State 12 2011 285 3 Adam Coon Michigan 2 2013 285 4 Ty Walz Virginia Tech WC 2012 285 5 Amarveer Dhesi Oregon State NR 2013 285 6 Austin Marsden Oklahoma State 22 2011 285 7 Michael Kroells Minnesota 41 2012 285 8 Max Wessell Lehigh NR 2010 ; /* frequency analysis. Bin the ranks into Top 20 = 1-20 and Top 100 = 21-100 */ proc format; value RankDiscFmt 110="Ranked WC" 120="Unranked" 21-100="Top 100" 1-20="Top 20"; run; proc freq data=Wrestling2016; format HSRank RankDiscFmt.; tables HSRank * Place / nocum norow nocol nopercent plot=mosaicplot; run; /******************************************/ /* label WC = "weight class ranked" and NR = "Not ranked" */ proc format; value RankFmt 110="WC" 120="NR" other=[3.]; run; /* plot finish at tournament vs rank. Add loess smoother. Use broken axis to show that WC and NR are different from 1-100 */ title "All-American Wrestlers"; title2 "2016 NCAA Division 1"; proc sgplot data=Wrestling2016 noautolegend; format HSRank RankFmt.; loess x=HSRank y=Place; xaxis grid ranges=(min-104 105-max) values=(1, 20 to 120 by 20, 110); run; proc freq data=Wrestling2016; where HSRank<= 10; tables Place; run; /*****************************************/ /* extra plot of box plots, just for fun */ proc sgplot data=Wrestling2016 noautolegend; format HSRank RankFmt.; vbox HSRank / category=Place connect=median nomean outlierattrs=(size=12); scatter x=Place y=HSRank / jitter transparency=0.5 markerattrs=GraphData2(symbol=CircleFilled); yaxis grid ranges=(min-104 105-max) values=(1, 20 to 120 by 20, 110); run;