* lab4a.sas ; * 22S:172, June 19, 2003 options linesize = 75 formchar = "|----|+|---+=|-/\<>*"; * first try at reading the data ; * variable names in input statement taken from data file ; data depo ; infile 'c:\temp\depoRepCO.dat' firstobs = 6 ; input SiteID $ Per $ Year Crit1 Crit2 Crit3 Crit4 Ca Mg K Na NH4 NO3 InorgN Cl SO4 HLab HField Svol Ppt Pct ValidF ValidL Days Date1 $ Date2 $ ; run; proc print data = depo (obs=5) ; run ; * fixing truncation and misreading of last 2 variables; data depo ; infile 'c:\temp\depoRepCO.dat' firstobs = 6 ; input SiteID $ Per $ Year Crit1 Crit2 Crit3 Crit4 Ca Mg K Na NH4 NO3 InorgN Cl SO4 HLab HField Svol Ppt Pct ValidF ValidL Days @201 Date1 $12. @217 Date2 $12. ; run; proc print data = depo (obs=5) ; run ; * use informats to remove quotes around character values ; data depo ; infile 'c:\temp\depoRepCO.dat' firstobs = 6 ; input SiteID $QUOTE6. @9 Per $QUOTE8. Year Crit1 Crit2 Crit3 Crit4 Ca Mg K Na NH4 NO3 InorgN Cl SO4 HLab HField Svol Ppt Pct ValidF ValidL Days @201 Date1 $QUOTE12. @217 Date2 $QUOTE12. ; drop Per Year Crit1 - Crit4 ; run; proc print data = depo (obs=5) ; run ; data depo ; infile 'c:\temp\depoRepCO.dat' firstobs = 6 ; input SiteID $QUOTE6. @9 Per $QUOTE8. Year Crit1 Crit2 Crit3 Crit4 Ca Mg K Na NH4 NO3 InorgN Cl SO4 HLab HField Svol Ppt Pct ValidF ValidL Days @201 Date1 $QUOTE12. @217 Date2 $QUOTE12. ; drop Per Year Crit1-Crit4 ; sdate = input(Date1, mmddyy10.) ; * convert from char var to date var ; edate = input(Date2, mmddyy10.) ; daysop = edate - sdate ; format sdate edate date8. ; run ; proc print data = depo (obs = 5) ; run ; data sites ; infile 'c:\temp\stateCO.dat' firstobs = 19 ; input @13 SiteID $ @20 sitename $18. @40 strtdate mmddyy10. @53 stopdate mmddyy10. @68 elev ; run ; proc print data = sites ; run ; data sites ; infile 'c:\temp\stateCO.dat' firstobs = 19 missover ; input @13 SiteID $ @20 sitename $18. @40 strtdate mmddyy10. @53 stopdate mmddyy1 0. @68 elev ; if strtdate ne . ; * subsetting if: exclude observations meeting condition ; format strtdate stopdate date8. ; run ; proc print data = sites ; run ; * perform a one-to-one merge of the two datasets ; data combined ; merge depo sites ; run ; proc print data = combined ; run ; proc plot data = combined ; * text plot ; plot SO4 * elev = '.' / hpos = 40 vpos = 20 ; * syntax: y-var * x-var = 'plotting symbol', hpos and vpos control size ; title1 'Sulfuric Acid vs. Elevation' ; title2 'Colorado NADP sites, Annual Data for 2000' ; footnote 'Sulfuric Acid in kg/ha' ; label SO4 = 'Sulfuric Acid' elev = 'Elevation in Meters' ; run ; proc gplot data = combined ; * SAS/Graph plot ; plot SO4 * elev = '.' ; * syntax: y-var * x-var = 'plotting symbol' ; title1 'Sulfuric Acid vs. Elevation' ; title2 'Colorado NADP sites, Annual Data for 2000' ; footnote 'Sulfuric Acid in kg/ha' ; label SO4 = 'Sulfuric Acid' elev = 'Elevation in Meters' ; run ;