/*****************************************************/ /* STAT 330, Fall 2011 */ /* Homework 3 */ /*****************************************************/ options nocenter nodate pageno=1 pagesize=55 linesize=120; /* 3.1.1 */ data movies; infile "C:\Classes\STAT 330\2011-4\homework\Box Office Sales 3.txt" firstobs=2; input rank 1-4 titleYr $ 5-94 @95 sales comma14.; title = scan(titleYr, 1, "()"); year = scan(titleYr, 2, "()"); year = scan(year, 1, "/I"); run; proc print data=movies noobs width=uniform; var rank title year sales; run; /* 3.1.2 */ data newBusinesses; infile "C:\Classes\STAT 330\2011-4\homework\SLO New Business Listing.txt" firstobs=3 truncover; input @1 busName $44. @45 busAddr $32. @77 busCityStateZip $38. @115 busPhone $11. @126 ownerLast $29. @155 ownerFirst $41. @196 busType $35.; city = scan(busCityStateZip, 1, ","); state = scan(busCityStateZip, -2); zip = scan(buscityStateZip, -1); validZip = 1; if anyalpha(zip) > 0 then validZip = 0; if length(zip) ^= 5 then validZip = 0; run; data validZips; set newbusinesses; if validZip; run; proc print data=validZips width=uniform; var busCityStateZip zip validZip; run; proc freq data=validZips; tables zip; run; data states; set validZips; stateCalc = zipstate(zip); checkState = (state=stateCalc); run; proc freq data=states; tables checkState; run; data errors; set states; if checkState=0; run; proc freq data=states; tables stateCalc; run; /* 3.1.3 */ data brfss2010; infile "C:\Classes\STAT 330\2011-4\homework\BRFSS Subset.txt"; input state $ 1-2 smoke100 98 smokday2 99 stopsmk2 100 lastsmk1 101-102 usenow3 103 age 104-105 sex 147; run; libname saveLoc "C:\Classes\STAT 330\2011-4\homework\"; data brfssRecode; set brfss2010; if 18 <= age <= 34 then ageCat=1; else if 35 <= age <= 64 then ageCat=2; else if 65 <= age <= 99 then ageCat=3; else ageCat=9; if smokday2 in (1,2) then smokeCat=3; /* Current smoker */ else if smoke100=1 then smokeCat=2; /* Former smoker */ else if smoke100=2 then smokeCat=1; /* Never smoker */ else smokeCat=9; /* Unknown smoker */ if ageCat in (1,2,3) and smokeCat in (1,2,3) and sex in (1,2); run; proc freq data=brfssRecode; tables ageCat*smokeCat sex*smokeCat; run; /* 3.2.1 */ filename readXLS dde "Excel|C:\Classes\STAT 330\2011-4\Homework\[French Open 2011 Women.xlsx]Sheet1!R2C1:R87C4"; libname saveLoc "C:\Classes\STAT 330\2011-4\Homework\"; data saveLoc.frenchOpen; infile readXLS notab dlm='09'x dsd missover; informat round $8. dateTime $14. matchUp $40. scores $30.; input round dateTime matchUp scores; run; data frenchOpen; set saveLoc.frenchOpen; retain newRound; if round ^= "" then newRound = round; day = scan(dateTime,1,"/"); month = scan(dateTime,2,"/"); year = scan(dateTime,3," /"); time = scan(dateTime,2," "); if year = "2011" then year = "11"; date = mdy(month, day, year); run; proc print data=frenchOpen width=uniform noobs; format date weekdate15.; var newRound date matchUp scores; run; data liNa; set frenchOpen; if index(matchUp, "N. Li") > 0; run; proc print data=liNa width=uniform noobs; format date weekdate15.; var newRound date matchUp scores; run;