Export Customized Graphs Directly into Microsoft Word Using Dynamic Data Exchange
|
|
|
- Roland McLaughlin
- 9 years ago
- Views:
Transcription
1 Paper RV-006 Export Customized Graphs Directly into Microsoft Word Using Dynamic Data Exchange Dennis J. Beal, Science Applications International Corporation, Oak Ridge, Tennessee ABSTRACT Highly customized graphs can be created with SAS and exported directly into Microsoft Word using dynamic data exchange (DDE) and SAS macros. SAS code is shown that produces side by side normal probability plots and box plots in both linear and log10 scales for environmental data. The probability plots are customized using annotation to label potential outliers and create hollow symbols for censored results reported below the detection limit. A linear regression line is shown fitted to the environmental results on a log10 scale. The box plots are also customized using annotation to show the mean, the 95% upper confidence limit on the mean, and special symbols for results outside the inner and outer fences of 1.5 and 3 times the interquartile range above the 75 th percentile. SAS code displays the distribution (normal, lognormal, or nonparametric) on the graphs and determines the optimal number of tick marks for the vertical axes. DDE is used to open Word directly from within SAS and insert multiple pages of graphs into Word using SAS macros with unique figure titles and numbers. SAS code presented in this paper can be used for creating customized graphs for hundreds of constituents quickly. This paper is for intermediate SAS users of SAS/STAT and SAS/GRAPH. Key words: dynamic data exchange, annotate, Microsoft Word, probability plots, box plots, macros INTRODUCTION Environmental scientists and risk assessors collect soil and water samples that are often analyzed for hundreds of chemicals and radionuclides in the analytical laboratory. The distributions of each of these constituents must be determined to properly calculate summary statistics, 95% upper confidence limits (UCLs) on the mean, and exposure point concentrations. The process for evaluating the distributions of each constituent involves both quantitative tests and graphical displays. This paper shows SAS code that can be used to create customized graphs and export them directly into Microsoft Word using dynamic data exchange (DDE) with unique figure titles for a large number of constituents. The SAS code presented in this paper uses the SAS System for personal computers version running on a Windows XP Professional platform with Service Pack 3. SAS CODE The SAS code used to generate the graphs and export them directly into Microsoft Word using DDE is shown by topic as it appears in sequence in the SAS program. INITIAL SAS MACROS The following SAS macro variables that will be used later in the program are defined. These initial macros assume the data have already been stored in a SAS data set and reduced by removing duplicate samples in the INPDS macro variable. Furthermore, the summary statistics should have already been calculated in a SAS data set and are contained in the INPDS_SUM macro variable. %let pathdat = C:\HHRA\Data\; ** location of data; %let pathtab = C:\HHRA\Tables\; ** location of tables; libname hhra "&pathdat"; %let pathplot = C:\HHRA\Plots\; ** location of plots; %let INPDS = hhra.soil_data; ** soil data with individual results; %let INPDS_SUM = hhra.sumstats_surfsoil; ** summarized surface soil data set; %let WORDFN = HHRA plots for detected chemicals.doc; ** name of Word file; %let NUMTICKS = 10; ** desired number of major tick marks on the Y axis; The macro OBSNVARS returns the number of variables and observations from a data set. %macro obsnvars(ds); %global dset nvars nobs; %let dset=&ds; 1
2 %let dsid = %sysfunc(open(&dset)); %if &dsid %then %do; %let nobs =%sysfunc(attrn(&dsid,nobs)); %let nvars=%sysfunc(attrn(&dsid,nvars)); %let rc = %sysfunc(close(&dsid)); %end; %else %put Open for data set &dset failed - %sysfunc(sysmsg()); %mend obsnvars; PREPARE DATA SETS The following SAS code prepares the input data sets for creating the graphs by calculating the range of results that will be plotted on the graphs. proc sort data=&inpds out=plotdat; by med_type anagroup chemical units; proc summary data=plotdat; ** find the largest and smallest individual result ; var results; by med_type anagroup chemical units; output out=minmaxout(drop=_type freq_) min=minres max=maxres; run; proc sort data=&inpds_sum out=sumstats; by med_type anagroup chemical units; data minmaxout2; merge minmaxout sumstats(keep=med_type anagroup chemical units meanprox ucl95 sflag totn pdetc); by med_type anagroup chemical units; PLOTMIN = min(minres, meanprox); ** find smallest result or mean of proxy values; PLOTMAX = max(maxres, ucl95); ** find largest result or UCL95; PLOTNUM = _N_; run; ** plot number for each constituent to be plotted; The variable PLOTMIN calculates the minimum of the individual results and the mean of the proxy values because for distributions with non-detected chemical results, half the non-detect is usually used as a proxy value for the censored result. Therefore, it is possible the mean could be smaller than the minimum detected result if there are many nondetects for a particular constituent. The UCL could exceed the maximum result for skewed distributions. The variable SFLAG is the distribution (normal, lognormal, or nonparametric), TOTN is the total number of results, and PDETC is the frequency of detection. The following SAS code merges the summary statistics with the individual results for probability plots. The macro variable UNITS stores the units associated with the results. proc sort data=minmaxout2; by med_type anagroup chemical units; proc sort data=plotdat; by med_type anagroup chemical units results; data plotdat2; merge plotdat minmaxout2; by med_type anagroup chemical units; proc sort data=plotdat2; by plotnum med_type anagroup chemical units; proc sort data=plotdat2 out=unitsonly(keep=units) nodupkey; by units; data _null_; set unitsonly; call symput('units' left(_n_), trim(left(units))); run; VALUES FOR THE VERTICAL AXIS Extensive SAS code is available from the author that calculates the optimal range of values to be displayed for the vertical axis for each constituent, the number of major tick marks closest to the desired number of major tick marks declared in the macro variable NUMTICKS, and the number of minor tick marks. These calculations are then stored in macro variables. Due to space limitations, the code is not included in this paper, but can be obtained from the author. The macro variables DIST, MED, CHEM, CHEMNUM, UNITS, UNITSFN, VM, MINTICK, MAXTICK, BYVAR, FORMAT_LOGRES, FORMAT_RES, and N_PLOTS are assigned during the execution of this code. PROBABILITY PLOT CALCULATIONS This SAS code merges the vertical axis information with the individual results and calculates the normal deviates from the normal cumulative distribution function (CDF). The variable HIT = 1 if the result is detected and 0 if the result is not detected. 2
3 proc sort data=plotdat2; by med_type anagroup chemical units; proc sort data=aggs2; by med_type anagroup chemical units; data plotdat5; merge plotdat2 aggs2; by med_type anagroup chemical units; attrib _char_ format=$varying. informat=$varying.; proc sort data=plotdat5; by plotnum med_type anagroup chemical units results hit; data plotdat6; set plotdat5; by plotnum med_type anagroup chemical units; if first.units then i=0; i+1; phiinv_p = probit(i / (totn + 1)); run; PROBABILITY PLOT REGRESSION LINE FOR LOG 10 SCALE This SAS code calculates the linear regression line that will be plotted in log10 scale. proc sort data=plotdat6; by plotnum pdetc results; proc reg data=plotdat6; ** used for plotting linear regression lines in log10 space; model log10res = phiinv_p; by plotnum pdetc; output out=plotdat7 r=residual p=predicted; run; quit; data plotdat7; set plotdat7; plot2res = 10**(predicted); run; This SAS code ensures the scales of both vertical axes in the probability plots are the same in log10 scale. ** add missing values for min and max so right Y axis matches left Y axis; proc sort data=plotdat6; by plotnum results; data minout; set plotdat6; by plotnum; where results ^=.; if first.plotnum; plot2res = results; phiinv_p =.; proc sort data=plotdat6; by plotnum descending results; data maxout; set plotdat6; by plotnum; where results ^=.; if first.plotnum; plot2res = results; phiinv_p =.; proc sort data=plotdat7; by plotnum plot2res; data minregout; set plotdat7; by plotnum; where plot2res ^=.; if first.plotnum; results = plot2res; phiinv_p =.; proc sort data=plotdat7; by plotnum descending plot2res; data maxregout; set plotdat7; by plotnum; where plot2res ^=.; if first.plotnum; results = plot2res; phiinv_p =.; data plotdat8; set plotdat7 minout maxout minregout maxregout; run; OPEN MICROSOFT WORD FROM WITHIN SAS This SAS code opens Microsoft Word from within SAS. 3
4 options noxsync noxwait xmin; filename sas2word dde 'winword system'; data _null_; length fid rc start stop time 8; fid=fopen('sas2word','s'); if (fid le 0) then do; rc=system('start winword'); start=datetime(); stop=start+100; do while (fid le 0); fid=fopen('sas2word','s'); time=datetime(); if (time ge stop) then fid=1; end; end; rc=fclose(fid); run; data _null_; file sas2word; put '[AppMinimize]'; put '[FileNew.Template="Normal.dot"]'; put '[ChDefaultDir put put '",0]'; put '[EditBookmark.Name="HHRA",.Add]'; run; DEFINE MACRO FOR GENERATING PLOTS This SAS code defines the macro for generating probability and box plots for one or many constituents. The interquartile range and possible outliers are calculated. The PROC GREPLAY deletes all previous plots from GSEG so the most current plots are used. %macro plots(startno, endno); %do i = &startno %to &endno; data one&i.; set plotdat6; where plotnum=&i.; run; proc univariate data=one&i. noprint; var results; output out=uclout q1=p25 q3=p75; data merged; set one&i.; if _N_=1 then set uclout; IQR = p75 - p25; if 3*iqr + p75 > results >= 1.5*iqr + p75 or p25-3*iqr < results <= p25-1.5*iqr then OUTLIER1 = '#'; if results >= 3*iqr + p75 or results <= p25-3*iqr then OUTLIER2 = '##'; run; proc greplay nofs; igout work.gseg; delete _all_; run; quit; PROBABILITY PLOT IN LINEAR SCALE This SAS code creates a normal probability in linear scale. The annotation data set ANNO1 identifies all the nondetects that will make the symbol appear hollow to distinguish them from detected concentrations. The annotation data set ANNO1b puts the distribution label in the top left corner of the plot. The data set ANNO1c labels the potential outliers on the plots. filename plot "&pathplot.probability plot &&MED&i &&CHEM&i &&UNITSFN&i outlier.cgm"; goptions reset=all display gsfmode=replace noprompt gsfname=plot device=cgmofmp rotate=portrait htext=0.75 ftext="timesroman" horigin=0 in vorigin=0 in vsize=4.2 in hsize=3.2 in cback=white; data anno1; %* create annotate dataset; length function color style $ 8; set one&i.; where hit=0; ** keep only non-detected results; size=0.3; xsys='2'; ysys='2'; hsys='4'; x = phiinv_p; y = results; style='marker'; text='w'; color='snow'; when='a'; position='5'; function='symbol'; run; 4
5 %obsnvars(anno1); %let ND = &nobs; data anno1b; length function color style $ 8 text $15; function='label'; size=0.75; xsys='1'; ysys='1'; hsys='4'; x = 3; y = 97; style=' '; text="&&dist&i."; color='black'; when='a'; position='6'; output; run; data anno1c; length function color style $ 8 text $35; set merged; where outlier1^=' ' or outlier2^=' '; ** keep only potential outliers; function='label'; size=0.7; xsys='2'; ysys='2'; hsys='4'; x = phiinv_p - 1; y = results; style=' '; text=station; color='black'; when='a'; position='6'; output; data anno; length text $50; set anno1 anno1b anno1c; run; proc gplot data=one&i. annotate=anno; plot results*phiinv_p / vaxis=axis1 haxis=axis2 vm=&&vm&i. hm=1 name='plot1' nolegend; format results &&FORMAT_RES&i. phiinv_p 3.0; axis1 width=5 value=(h=0.75) order=(&&mintick&i. to &&MAXTICK&i. by &&BYVAR&i.) label=(a=90 r=0 h=0.75 j=c "&&CHEM&i. (&&UNITS&i.)"); axis2 origin=(1 in) length=2.2 in width=5 value=(h=0.75) order=(-2 to 2 by 1) offset=(0.1 in) label=(h=0.75 'Deviates from the Normal CDF'); label results='00'x phiinv_p='00'x project_pdetc='00'x; footnote1 j=l h=0.65 ' '; footnote2 j=l h=0.2 ' '; symbol1 f=marker v='w' i=rl h=0.7 c=blue w=5 l=1; run; quit; PROBABILITY PLOT IN LOG 10 SCALE This SAS code creates a normal probability plot in log10 scale. The same annotation data set ANNO used for the previous probability plot is used for the probability plot in log10 scale. The footnote about hollow symbols is printed only when non-detects are present in the graph by referencing the macro variable ND. data one8_&i.; set plotdat8; where plotnum=&i.; run; proc sort data=one8_&i.; by plotnum results; run; filename plot "&pathplot.probability plot &&MED&i &&CHEM&i log10 &&UNITSFN&i..cgm"; goptions reset=all display gsfmode=replace noprompt gsfname=plot device=cgmofmp rotate=portrait htext=0.75 ftext="timesroman" horigin=0 in vorigin=0 in vsize=4.2 in hsize=3.2 in cback=white; proc gplot data=one8_&i. annotate=anno; plot results*phiinv_p / vaxis=axis1 haxis=axis2 vm=9 hm=1 name='plot2' nolegend; plot2 plot2res*phiinv_p / vaxis=axis3 vm=9 nolegend noaxis; format results &&FORMAT_LOGRES&i. phiinv_p 3.0 plot2res 1.0; axis1 width=5 value=(h=0.75) logbase=10 logstyle=expand label=(a=90 r=0 h=0.75 j=c "&&CHEM&i. (&&UNITS&i.) in Log10 scale"); axis2 origin=(1 in) length=2.2 in width=5 value=(h=0.75) order=(-2 to 2 by 1) offset=(0.1 in) label=(h=0.75 'Deviates from the Normal CDF'); axis3 width=5 value=(h=0.75) logbase=10 label=none; label results='00'x phiinv_p='00'x project_pdetc='00'x plot2res='00'x; %if &ND > 0 %then %do; footnote1 j=l h=0.65 'Hollow symbols denote non-detects.'; %end; %else %if &ND = 0 %then %do; footnote1 j=l h=0.65 ' '; %end; footnote2 j=l h=0.2 ' '; symbol1 f=marker h=0.7 v='w' i=none l=1 w=5 c=blue; run; quit; BOX PLOT IN LINEAR SCALE This SAS code creates a box plot in linear scale. The annotation data set ANNO1 identifies the mean that will be displayed as a black star. 5
6 data merged; set one&i.; if _N_=1 then set &INPDS_SUM; IQR = p75 - p25; if 3*iqr + p75 > results >= 1.5*iqr + p75 or p25-3*iqr < results <= p25-1.5*iqr then OUTLIER1 = '#'; if results >= 3*iqr + p75 or results <= p25-3*iqr then OUTLIER2 = '##'; run; data anno1; ** display mean symbol; set merged; if _N_=1; xsys='2'; ysys='2'; function='symbol'; xc=pdetc ; y=meanprox; hsys='4'; size=0.7; style='marker'; text='v'; color='black'; position='6'; when='a'; output; run; The annotation data set ANNO2 identifies the 95% (UCL) on the mean that will be displayed as a green horizontal bar. data anno2; ** displays UCL95; set merged; if _N_=1; xsys='2'; ysys='2'; function='symbol'; xc=pdetc ; y=ucl95; hsys='4'; size=1.3; style='music'; text='j'; color='green'; position='6'; when='a'; output; run; The annotation data set ANNO3 identifies the individual results outside the inner fence between 1.5 and 3 times the interquartile range above the 75 th percentile that will be displayed as blue solid circles. data anno3; ** little outliers; set merged; where outlier1='#'; xsys='2'; ysys='2'; function='symbol'; xc=pdetc ; y=results; hsys='4'; size=0.7; style='marker'; text='w'; color='blue'; position='6'; when='a'; output; run; %obsnvars(anno3); %let OUT1 = &nobs; The annotation data set ANNO4 identifies the individual results outside the outer fence beyond 3 times the interquartile range above the 75 th percentile that will be displayed as red solid squares. data anno4; ** big outliers; set merged; where outlier2='##'; xsys='2'; ysys='2'; function='symbol'; xc=pdetc; y=results; hsys='4'; size=0.7; style='marker'; text='u'; color='red'; position='6'; when='a'; output; run; %obsnvars(anno4); %let OUT2 = &nobs; The annotation data set ANNO3a identifies the individual censored or non-detected results outside the inner fence between 1.5 and 3 times the interquartile range above the 75 th percentile that will be displayed as blue hollow circles. data anno3a; ** little outliers non-detects; set merged; where outlier1='#' and hit=0; xsys='2'; ysys='2'; function='symbol'; xc=pdetc ; y=results; hsys='4'; size=0.3; style='marker'; text='w'; color='snow'; position='6'; when='a'; output; run; The annotation data set ANNO4a identifies the individual censored or non-detected results outside the outer fence beyond 3 times the interquartile range above the 75 th percentile that will be displayed as red hollow squares. data anno4a; ** big outliers non-detects; set merged; where outlier2='##' and hit=0; xsys='2'; ysys='2'; function='symbol'; xc=pdetc ; y=results; hsys='4'; size=0.3; style='marker'; text='u'; color='snow'; position='6'; when='a'; output; run; 6
7 The annotation data set ANNO5 displays the legend for the mean, UCL, and outliers. The legend will include symbols for outliers only if outliers are identified on each plot using the OUT1 and OUT2 macro variables. data anno5; length function color style $ 8 text $25 ; xsys='1'; ysys='1'; function='symbol'; x=3; y=5; hsys='4'; size=1.2; style='music'; text='j'; color='green'; position='6'; when='a'; output; xsys='1'; ysys='1'; function='label'; x=7; y=5; hsys='4'; size=0.68; style=' '; text="ucl95"; color='black'; position='6'; when='a'; output; xsys='1'; ysys='1'; function='symbol'; x=3; y=9; hsys='4'; size=0.68; style='marker'; text='v'; color='black'; position='6'; when='a'; output; xsys='1'; ysys='1'; function='label'; x=7; y=9; hsys='4'; size=0.68; style=' '; text="mean"; color='black'; position='6'; when='a'; output; %if &OUT1 > 0 and &OUT2 > 0 %then %do; xsys='1'; ysys='1'; function='symbol'; x=3; y=13; hsys='4'; size=0.65; style='marker'; text='w'; color='blue'; position='6'; when='a'; output; xsys='1'; ysys='1'; function='label'; x=7; y=13; hsys='4'; size=0.68; style=' '; text="> 1.5xIQR"; color='black'; position='6'; when='a'; output; xsys='1'; ysys='1'; function='symbol'; x=3; y=17; hsys='4'; size=0.65; style='marker'; text='u'; color='red'; position='6'; when='a'; output; xsys='1'; ysys='1'; function='label'; x=7; y=17; hsys='4'; size=0.68; style=' '; text="> 3xIQR"; color='black'; position='6'; when='a'; output; %end; %if &OUT1 = 0 and &OUT2 > 0 %then %do; xsys='1'; ysys='1'; function='symbol'; x=3; y=13; hsys='4'; size=0.65; style='marker'; text='u'; color='red'; position='6'; when='a'; output; xsys='1'; ysys='1'; function='label'; x=7; y=13; hsys='4'; size=0.68; style=' '; text="> 3xIQR"; color='black'; position='6'; when='a'; output; %end; %if &OUT1 > 0 and &OUT2 = 0 %then %do; xsys='1'; ysys='1'; function='symbol'; x=3; y=13; hsys='4'; size=0.65; style='marker'; text='w'; color='blue'; position='6'; when='a'; output; xsys='1'; ysys='1'; function='label'; x=7; y=13; hsys='4'; size=0.68; style=' '; text="> 1.5xIQR"; color='black'; position='6'; when='a'; output; %end; run; The data set ANNO combines the annotation data sets together. data anno; length text XC $25; set anno1 anno1b anno2 anno3 anno4 anno3a anno4a anno5; run; proc sort data=merged; by results; run; filename plot "&pathplot.box plots &&MED&i &&CHEM&i &&UNITSFN&i linear.cgm"; goptions reset=all display gsfmode=replace noprompt gsfname=plot device=cgmofmp rotate=portrait htext=0.75 ftext="timesroman" horigin=0 in vorigin=0 in vsize=4.2 in hsize=3.2 in cback=white; The box plot is created on a linear scale. proc gplot data=merged annotate=anno; plot results*pdetc / vaxis=axis1 haxis=axis2 vm=&&vm&i. hm=0 name='plot3'; format results &&FORMAT_RES&i.; axis1 width=5 value=(h=0.75) label=(a=90 r=0 h=0.75 j=c "&&CHEM&i. (&&UNITS&i.)") order=(&&mintick&i. to &&MAXTICK&i. by &&BYVAR&i.); axis2 width=5 value=(h=0.75) label=(h=0.75 'Frequency of Detection'); footnote1 j=l h=0.65 ' '; footnote2 j=l h=0.2 ' '; label results='00'x; symbol1 h=0.75 bwidth=11 i=box00tf l=1 w=5 c=blue cv=yellow; run; quit; BOX PLOT IN LOG 10 SCALE This SAS code creates a box plot in log10 scale using the same annotations created for the box plot in linear scale. filename plot "&pathplot.box plots &&MED&i &&CHEM&i &&UNITSFN&i log10.cgm"; 7
8 proc gplot data=merged annotate=anno; plot results*pdetc / vaxis=axis1 haxis=axis2 vm=9 hm=0 name='plot4'; format results &&FORMAT_LOGRES&i.; axis1 width=5 value=(h=0.75) label=(a=90 r=0 h=0.75 j=c "&&CHEM&i. (&&UNITS&i.) in Log10 scale") logbase=10 logstyle=expand; axis2 width=5 value=(h=0.75) label=(h=0.75 'Frequency of Detection'); footnote1 j=l h=0.65 ' '; footnote2 j=l h=0.2 ' '; label results='00'x; symbol1 h=0.75 bwidth=11 i=box00tf l=1 w=5 c=blue cv=yellow; run; quit; PLACE GRAPHS TOGETHER USING PROC GREPLAY This SAS code places the four individual plots together onto a single graph using PROC GREPLAY. goptions reset=all display gsfmode=replace noprompt gsfname=plot device=cgmofmp rotate=portrait htext=0.8 ftext="timesroman" horigin=0 in vorigin=0 in vsize=8.5 in hsize=6.5 in cback=white; filename plot "&pathplot.4 plots &&MED&i &&CHEM&i.cgm"; proc greplay tc=tempcat nofs igout=work.gseg; tdef ucf des='ucf' 1/llx = 0 lly = 51 ulx = 0 uly = 100 urx = 49 ury = 100 lrx = 49 lry = 51 2/llx = 51 lly = 51 ulx = 51 uly = 100 urx =100 ury = 100 lrx =100 lry = 51 3/llx = 0 lly = 0 ulx = 0 uly = 49 urx = 49 ury = 49 lrx = 49 lry = 0 4/llx = 51 lly = 0 ulx = 51 uly = 49 urx =100 ury = 49 lrx =100 lry = 0 ; template = ucf; treplay 1:plot1 2:plot3 3:plot2 4:plot4; run; quit; %end; ** end do i; SEND PLOTS TO MICROSOFT WORD This SAS code sends the composite graph to Microsoft Word with a unique figure number and appropriate title. data _null_; file sas2word; %if &NEWFILE = Y %then %do; put '[FileNew ]'; %end; %else %do; put '[FileOpen.Name = "'@; put "&pathplot.&wordfn"@; put '"]'; %end; put '[FilePageSetup.LeftMargin = 72]'; ** 1 inch margins; put '[FilePageSetup.RightMargin = 72]'; ** 1 inch margins; %local i; %do i=&startno %to &endno; put '[EditBookmark.Name= "'@; put "&&MED&i. &&CHEM&i."@; Put '",.Add]'; put '[InsertPicture.Name = "'@; put "&pathplot.4 plots &&MED&i. &&CHEM&i..cgm"@; put '"]'; put '[InsertPara]'; put '[FormatFont.Points = "11",.Font = "Time New Roman"]'; put '[FormatParagraph.Alignment=1]'; ** center caption; put '[Insert "'@; put ' "]'; put '[Insert "Fig. '@; put "&I"@; put '. Background probability and box plots of 8
9 put "&&CHEM&i. in put '"]'; %if &i. < &endno %then %do; put '[InsertPageBreak]'; %end; %end; put '[FileSaveAs.Name = "'@; put "&pathplot.&wordfn"@; put '"]'; run; %mend plots; ** end plots macro; %let NEWFILE = Y; ** Y if a new file will be created, N otherwise; Call the macro PLOTS for any number of plots. %plots(1, &N_PLOTS) GRAPHS DISPLAYED IN WORD The final graphs as shown in Word are displayed in Figures 1 and 2 for the chemicals lead and dimethylbenzene, respectively, from 21 surface soil samples. The vertical scales are identical, as are the lengths of both axes for all four individual plots. COMPARISON TO ODS The use of DDE for generating these plots was compared to the Output Delivery System (ODS) in SAS. Currently, there are only four options for creating graphics output in rich text format (RTF) for Word: PNG, JPEG, SASEMF, and Active X. The image quality of the PNG, JPEG, and SASEMF graphs was poor compared to the CGM file created for Word using DDE. The image quality of the ActiveX graph was better, but Haworth (2001) states some limitations of ActiveX. ODS works only with the GCHART, GCONTOUR, GMAP, GPLOT, and G3D procedures, and it requires that SAS/GRAPH ActiveX control be installed. Since ActiveX is a Microsoft technology, it may only work with Microsoft Office products. The technology has proven to be a security risk since it can be used by hackers to insert viruses into the system. As a result, many sites choose to disable ActiveX. CONCLUSION Dynamic data exchange can be used to open Microsoft Word from within SAS and quickly send many plots to Word with the appropriate figure numbers and titles using SAS macros. Environmental data were presented using both probability and box plots in linear and log10 scales to examine the data distributions. Annotation is used on the graphs to identify possible outliers, label the distribution, create hollow symbols for non-detects, and show the mean, UCL, and possible outliers on box plots. A linear regression line is added to plots with a vertical axis on a log10 scale. The number of major and minor tick marks on the vertical axis of each plot is optimized for the range of data for each chemical. SAS code is presented to produce customized plots for a large number of chemicals directly into Word. DDE allows you more control over the graph in Word compared to ODS. Furthermore, the CGM driver produces higher quality resolution images over PNG, JPEG, and SASEMF drivers for graphs in Word. REFERENCES Haworth, Lauren E Output Delivery System: The Basics. Cary, NC: SAS Institute Inc., p CONTACT INFORMATION The author welcomes and encourages any questions, corrections, feedback, and remarks. Contact the author at: Dennis J. Beal, Ph.D. candidate Senior Statistician/Risk Scientist Science Applications International Corporation (SAIC) P.O. Box 2501 phone: Lafayette Drive fax: Oak Ridge, Tennessee [email protected] SAS and all other SAS Institute Inc. product or service names are registered trademarks or trademarks of SAS Institute Inc. in the USA and other countries. indicates USA registration. Other brand and product names are registered trademarks or trademarks of their respective companies. 9
10 9,000 8,000 Nonparametric SB021 9,000 8,000 Nonparametric 7,000 7,000 6,000 SB014 6,000 Lead (ug/kg) 5,000 4,000 Lead (ug/kg) 5,000 4,000 3,000 3,000 2,000 2, > 3xIQR mean UCL / 21 Deviates from the Normal CDF Frequency of Detection 10,000 Nonparametric SB021 10,000 Nonparametric SB014 Lead (ug/kg) in Log10 scale Lead (ug/kg) in Log10 scale > 3xIQR mean UCL / 21 Deviates from the Normal CDF Frequency of Detection Figure 1. Background probability and box plots of lead in surface soil 10
11 1,200 Lognormal 1,200 Lognormal SB004 Dimethylbenzene (ug/kg) SB016 SB001 Dimethylbenzene (ug/kg) > 3xIQR > 1.5xIQR mean UCL / 21 Deviates from the Normal CDF Frequency of Detection 10,000 Lognormal 10,000 Lognormal Dimethylbenzene (ug/kg) in Log10 scale SB004 SB016 SB001 Dimethylbenzene (ug/kg) in Log10 scale > 3xIQR > 1.5xIQR mean UCL / 21 Deviates from the Normal CDF Frequency of Detection Hollow symbols denote non-detects. Figure 2. Background probability and box plots of dimethylbenzene in surface soil 11
How to Change the Template and Table of Contents for SAS Web Applications Veronica Y. Rath, INDUS Corporation, Vienna, VA
How to Change the Template and Table of Contents for SAS Web Applications Veronica Y. Rath, INDUS Corporation, Vienna, VA ABSTRACT This paper addresses two key areas: (1) creating templates; and (2) changing
Tips and Tricks: Using SAS/GRAPH Effectively A. Darrell Massengill, SAS Institute, Cary, NC
Paper 90-30 Tips and Tricks: Using SAS/GRAPH Effectively A. Darrell Massengill, SAS Institute, Cary, NC ABSTRACT SAS/GRAPH is a powerful data visualization tool. This paper examines the powerful components
Using SAS to Create Graphs with Pop-up Functions Shiqun (Stan) Li, Minimax Information Services, NJ Wei Zhou, Lilly USA LLC, IN
Paper CC12 Using SAS to Create Graphs with Pop-up Functions Shiqun (Stan) Li, Minimax Information Services, NJ Wei Zhou, Lilly USA LLC, IN ABSTRACT In addition to the static graph features, SAS provides
Multiple Graphs on One Page (Step-by-step approach) Yogesh Pande, Schering-Plough Corporation, Summit NJ
Paper CC01 Multiple Graphs on One Page (Step-by-step approach) Yogesh Pande, Schering-Plough Corporation, Summit NJ ABSTRACT In statistical analysis and reporting, it is essential to provide a clear presentation
Sales Territory and Target Visualization with SAS. Yu(Daniel) Wang, Experis
Sales Territory and Target Visualization with SAS Yu(Daniel) Wang, Experis ABSTRACT SAS 9.4, OpenStreetMap(OSM) and JAVA APPLET provide tools to generate professional Google like maps. The zip code boundary
The Basics of Creating Graphs with SAS/GRAPH Software Jeff Cartier, SAS Institute Inc., Cary, NC
Paper 63-27 The Basics of Creating Graphs with SAS/GRAPH Software Jeff Cartier, SAS Institute Inc., Cary, NC ABSTRACT SAS/GRAPH software is a very powerful tool for creating a wide range of business and
Multiple Graphs on One page, the easy way (PDF) and the hard way (RTF)
Paper 94-28 - 1 - Multiple Graphs on One page, the easy way (PDF) and the hard way (RTF) Kevin P. Delaney MPH, Northrop-Grumman Mission Systems, Atlanta, GA Abstract: SAS/GRAPH software can be used in
Let SAS Write Your SAS/GRAPH Programs for You Max Cherny, GlaxoSmithKline, Collegeville, PA
Paper TT08 Let SAS Write Your SAS/GRAPH Programs for You Max Cherny, GlaxoSmithKline, Collegeville, PA ABSTRACT Creating graphics is one of the most challenging tasks for SAS users. SAS/Graph is a very
Using SAS/GRAPH Software to Create Graphs on the Web Himesh Patel, SAS Institute Inc., Cary, NC Revised by David Caira, SAS Institute Inc.
Paper 189 Using SAS/GRAPH Software to Create Graphs on the Web Himesh Patel, SAS Institute Inc., Cary, NC Revised by David Caira, SAS Institute Inc., Cary, NC ABSTRACT This paper highlights some ways of
Visualizing Key Performance Indicators using the GKPI Procedure Brian Varney, COMSYS, a Manpower Company, Portage, MI
Paper 66-2010 Visualizing Key Performance Indicators using the GKPI Procedure Brian Varney, COMSYS, a Manpower Company, Portage, MI ABSTRACT The GKPI procedure is new in SAS 9.2 SAS/Graph. This new procedure
Pop-Ups, Drill-Downs, and Animation Mike Zdeb, University@Albany School of Public Health, Rensselaer, NY
Paper 090-29 Pop-Ups, Drill-Downs, and Animation Mike Zdeb, University@Albany School of Public Health, Rensselaer, NY ABSTRACT Several features have been added to SAS/GRAPH that allow a user to go beyond
Paper 208-28. KEYWORDS PROC TRANSPOSE, PROC CORR, PROC MEANS, PROC GPLOT, Macro Language, Mean, Standard Deviation, Vertical Reference.
Paper 208-28 Analysis of Method Comparison Studies Using SAS Mohamed Shoukri, King Faisal Specialist Hospital & Research Center, Riyadh, KSA and Department of Epidemiology and Biostatistics, University
208-25 LEGEND OPTIONS USING MULTIPLE PLOT STATEMENTS IN PROC GPLOT
Paper 28-25 LEGEND OPTIONS USING MULTIPLE PLOT STATEMENTS IN PROC GPLOT Julie W. Pepe, University of Central Florida, Orlando, FL ABSTRACT A graph with both left and right vertical axes is easy to construct
Using Dynamic Data Exchange to Customize Formatted Reports in Microsoft Excel
Paper DP03 Using Dynamic Data Exchange to Customize Formatted Reports in Microsoft Excel Dennis J. Beal, Science Applications International Corporation, Oak Ridge, TN ABSTRACT Dynamic data exchange (DDE)
Histogram of Numeric Data Distribution from the UNIVARIATE Procedure
Histogram of Numeric Data Distribution from the UNIVARIATE Procedure Chauthi Nguyen, GlaxoSmithKline, King of Prussia, PA ABSTRACT The UNIVARIATE procedure from the Base SAS Software has been widely used
Part II Chapter 9 Chapter 10 Chapter 11 Chapter 12 Chapter 13 Chapter 14 Chapter 15 Part II
Part II covers diagnostic evaluations of historical facility data for checking key assumptions implicit in the recommended statistical tests and for making appropriate adjustments to the data (e.g., consideration
Dongfeng Li. Autumn 2010
Autumn 2010 Chapter Contents Some statistics background; ; Comparing means and proportions; variance. Students should master the basic concepts, descriptive statistics measures and graphs, basic hypothesis
Scatter Plots with Error Bars
Chapter 165 Scatter Plots with Error Bars Introduction The procedure extends the capability of the basic scatter plot by allowing you to plot the variability in Y and X corresponding to each point. Each
Creating Dynamic Reports Using Data Exchange to Excel
Creating Dynamic Reports Using Data Exchange to Excel Liping Huang Visiting Nurse Service of New York ABSTRACT The ability to generate flexible reports in Excel is in great demand. This paper illustrates
Graphing in SAS Software
Graphing in SAS Software Prepared by International SAS Training and Consulting Destiny Corporation 100 Great Meadow Rd Suite 601 - Wethersfield, CT 06109-2379 Phone: (860) 721-1684 - 1-800-7TRAINING Fax:
CC03 PRODUCING SIMPLE AND QUICK GRAPHS WITH PROC GPLOT
1 CC03 PRODUCING SIMPLE AND QUICK GRAPHS WITH PROC GPLOT Sheng Zhang, Xingshu Zhu, Shuping Zhang, Weifeng Xu, Jane Liao, and Amy Gillespie Merck and Co. Inc, Upper Gwynedd, PA Abstract PROC GPLOT is a
Innovative Techniques and Tools to Detect Data Quality Problems
Paper DM05 Innovative Techniques and Tools to Detect Data Quality Problems Hong Qi and Allan Glaser Merck & Co., Inc., Upper Gwynnedd, PA ABSTRACT High quality data are essential for accurate and meaningful
Importing Excel File using Microsoft Access in SAS Ajay Gupta, PPD Inc, Morrisville, NC
ABSTRACT PharmaSUG 2012 - Paper CC07 Importing Excel File using Microsoft Access in SAS Ajay Gupta, PPD Inc, Morrisville, NC In Pharmaceuticals/CRO industries, Excel files are widely use for data storage.
Box-and-Whisker Plots with The SAS System David Shannon, Amadeus Software Limited
Box-and-Whisker Plots with The SAS System David Shannon, Amadeus Software Limited Abstract One regularly used graphical method of presenting data is the box-and-whisker plot. Whilst the vast majority of
Data Presentation. Paper 126-27. Using SAS Macros to Create Automated Excel Reports Containing Tables, Charts and Graphs
Paper 126-27 Using SAS Macros to Create Automated Excel Reports Containing Tables, Charts and Graphs Tugluke Abdurazak Abt Associates Inc. 1110 Vermont Avenue N.W. Suite 610 Washington D.C. 20005-3522
Data Visualization with SAS/Graph
Data Visualization with SAS/Graph Keith Cranford Office of the Attorney General, Child Support Division Abstract With the increase use of Business Intelligence, data visualization is becoming more important
WHO WE ARE. INTRODUCTION Throughout the year, numerous official data files and hard copy
Using SAS and Other Tools to Move an Institutional Research (IR) Office from Hardcopy Reporting to a Web-Based Environment Sabrina Andrews, University of Central Florida, Orlando, FL Evangeline Collado,
SAS Code to Select the Best Multiple Linear Regression Model for Multivariate Data Using Information Criteria
Paper SA01_05 SAS Code to Select the Best Multiple Linear Regression Model for Multivariate Data Using Information Criteria Dennis J. Beal, Science Applications International Corporation, Oak Ridge, TN
SAS Portfolio Analysis - Serving the Kitchen Sink Haftan Eckholdt, DayTrends, Brooklyn, NY
SAS Portfolio Analysis - Serving the Kitchen Sink Haftan Eckholdt, DayTrends, Brooklyn, NY ABSTRACT Portfolio management has surpassed the capabilities of financial software platforms both in terms of
Analyze the Stock Market Using the SAS System Luis Soriano, Qualex Consulting Services, Inc. Martinsville, VA
Paper 145-27 Analyze the Stock Market Using the SAS System Luis Soriano, Qualex Consulting Services, Inc. Martinsville, VA ABSTRACT Financial Managers, Analysts, and Investors need to find the better opportunities
OVERVIEW OF THE ENTERPRISE GUIDE INTERFACE
Paper HOW-007 Graphing the Easy Way with SAS Enterprise Guide (or How to Look Good With Less Effort) Stephanie R. Thompson, Rochester Institute of Technology, Rochester, NY ABSTRACT Have you ever wanted
4 Other useful features on the course web page. 5 Accessing SAS
1 Using SAS outside of ITCs Statistical Methods and Computing, 22S:30/105 Instructor: Cowles Lab 1 Jan 31, 2014 You can access SAS from off campus by using the ITC Virtual Desktop Go to https://virtualdesktopuiowaedu
Introduction to SAS Business Intelligence/Enterprise Guide Alex Dmitrienko, Ph.D., Eli Lilly and Company, Indianapolis, IN
Paper TS600 Introduction to SAS Business Intelligence/Enterprise Guide Alex Dmitrienko, Ph.D., Eli Lilly and Company, Indianapolis, IN ABSTRACT This paper provides an overview of new SAS Business Intelligence
Internet/Intranet, the Web & SAS. II006 Building a Web Based EIS for Data Analysis Ed Confer, KGC Programming Solutions, Potomac Falls, VA
II006 Building a Web Based EIS for Data Analysis Ed Confer, KGC Programming Solutions, Potomac Falls, VA Abstract Web based reporting has enhanced the ability of management to interface with data in a
Using SAS Output Delivery System (ODS) Markup to Generate Custom PivotTable and PivotChart Reports Chevell Parker, SAS Institute
Using SAS Output Delivery System (ODS) Markup to Generate Custom PivotTable and PivotChart Reports Chevell Parker, SAS Institute ABSTRACT This paper illustrates how to use ODS markup to create PivotTable
Instant Interactive SAS Log Window Analyzer
ABSTRACT Paper 10240-2016 Instant Interactive SAS Log Window Analyzer Palanisamy Mohan, ICON Clinical Research India Pvt Ltd Amarnath Vijayarangan, Emmes Services Pvt Ltd, India An interactive SAS environment
SPSS Manual for Introductory Applied Statistics: A Variable Approach
SPSS Manual for Introductory Applied Statistics: A Variable Approach John Gabrosek Department of Statistics Grand Valley State University Allendale, MI USA August 2013 2 Copyright 2013 John Gabrosek. All
Mobile Business Applications: Delivering SAS Dashboards To Mobile Devices via MMS
Mobile Business Applications: Delivering SAS Dashboards To Mobile Devices via MMS ABSTRACT Ben Robbins, Eaton Corporation, Raleigh NC Michael Drutar, SAS Institute Inc., Cary, NC Today s face-paced business
From The Little SAS Book, Fifth Edition. Full book available for purchase here.
From The Little SAS Book, Fifth Edition. Full book available for purchase here. Acknowledgments ix Introducing SAS Software About This Book xi What s New xiv x Chapter 1 Getting Started Using SAS Software
Chapter 32 Histograms and Bar Charts. Chapter Table of Contents VARIABLES...470 METHOD...471 OUTPUT...472 REFERENCES...474
Chapter 32 Histograms and Bar Charts Chapter Table of Contents VARIABLES...470 METHOD...471 OUTPUT...472 REFERENCES...474 467 Part 3. Introduction 468 Chapter 32 Histograms and Bar Charts Bar charts are
Risk Management : Using SAS to Model Portfolio Drawdown, Recovery, and Value at Risk Haftan Eckholdt, DayTrends, Brooklyn, New York
Paper 199-29 Risk Management : Using SAS to Model Portfolio Drawdown, Recovery, and Value at Risk Haftan Eckholdt, DayTrends, Brooklyn, New York ABSTRACT Portfolio risk management is an art and a science
Creating Maps with SAS/GRAPH - Drill Downs, Pop-Ups, and Animation Mike Zdeb, University@Albany School of Public Health, Rensselaer, NY
Paper 120-29 Creating Maps with SAS/GRAPH - Drill Downs, Pop-Ups, and Animation Mike Zdeb, University@Albany School of Public Health, Rensselaer, NY ABSTRACT Maps can be created with SAS by using the GMAP
Integrating SAS with JMP to Build an Interactive Application
Paper JMP50 Integrating SAS with JMP to Build an Interactive Application ABSTRACT This presentation will demonstrate how to bring various JMP visuals into one platform to build an appealing, informative,
Exploratory data analysis (Chapter 2) Fall 2011
Exploratory data analysis (Chapter 2) Fall 2011 Data Examples Example 1: Survey Data 1 Data collected from a Stat 371 class in Fall 2005 2 They answered questions about their: gender, major, year in school,
Using PROC RANK and PROC UNIVARIATE to Rank or Decile Variables
Using PROC RANK and PROC UNIVARIATE to Rank or Decile Variables Jonas V. Bilenas, JP Morgan Chase Bank, Wilmington, DE ABSTRACT In direct marketing applications prospects are often ranked by scores that
9.2 User s Guide SAS/STAT. Introduction. (Book Excerpt) SAS Documentation
SAS/STAT Introduction (Book Excerpt) 9.2 User s Guide SAS Documentation This document is an individual chapter from SAS/STAT 9.2 User s Guide. The correct bibliographic citation for the complete manual
How Does My TI-84 Do That
How Does My TI-84 Do That A guide to using the TI-84 for statistics Austin Peay State University Clarksville, Tennessee How Does My TI-84 Do That A guide to using the TI-84 for statistics Table of Contents
ENHANCING SAS OUTPUT WITH OUTPUT DELIVERY SYSTEM (ODS)
1 ENHANCING SAS OUTPUT WITH OUTPUT DELIVERY SYSTEM (ODS) Hemal Mehta, MS PhD student, College of Pharmacy, University of Houston 2 OUTLINE ODS Conceptually SAS 9.3 ODS Different types of output Listing,
Modeling Customer Lifetime Value Using Survival Analysis An Application in the Telecommunications Industry
Paper 12028 Modeling Customer Lifetime Value Using Survival Analysis An Application in the Telecommunications Industry Junxiang Lu, Ph.D. Overland Park, Kansas ABSTRACT Increasingly, companies are viewing
EXPLORATORY DATA ANALYSIS: GETTING TO KNOW YOUR DATA
EXPLORATORY DATA ANALYSIS: GETTING TO KNOW YOUR DATA Michael A. Walega Covance, Inc. INTRODUCTION In broad terms, Exploratory Data Analysis (EDA) can be defined as the numerical and graphical examination
Beginning Tutorials. BT005 MAPS MADE EASY USING SAS Mike Zdeb, University@Albany School of Public Health
BT005 MAPS MADE EASY USING SAS Mike Zdeb, University@Albany School of Public Health INTRODUCTION Maps can be created with SAS by using either SAS/GIS or the GMAP procedure, one of the procedures (PROCs)
Creating Word Tables using PROC REPORT and ODS RTF
Paper TT02 Creating Word Tables using PROC REPORT and ODS RTF Carey G. Smoak,, Pleasanton, CA ABSTRACT With the introduction of the ODS RTF destination, programmers now have the ability to create Word
E-Mail OS/390 SAS/MXG Computer Performance Reports in HTML Format
SAS Users Group International (SUGI29) May 9-12,2004 Montreal, Canada E-Mail OS/390 SAS/MXG Computer Performance Reports in HTML Format ABSTRACT Neal Musitano Jr Department of Veterans Affairs Information
SAS UNIX-Space Analyzer A handy tool for UNIX SAS Administrators Airaha Chelvakkanthan Manickam, Cognizant Technology Solutions, Teaneck, NJ
PharmaSUG 2012 Paper PO11 SAS UNIX-Space Analyzer A handy tool for UNIX SAS Administrators Airaha Chelvakkanthan Manickam, Cognizant Technology Solutions, Teaneck, NJ ABSTRACT: In the fast growing area
Gestation Period as a function of Lifespan
This document will show a number of tricks that can be done in Minitab to make attractive graphs. We work first with the file X:\SOR\24\M\ANIMALS.MTP. This first picture was obtained through Graph Plot.
Descriptive Statistics
Y520 Robert S Michael Goal: Learn to calculate indicators and construct graphs that summarize and describe a large quantity of values. Using the textbook readings and other resources listed on the web
Gamma Distribution Fitting
Chapter 552 Gamma Distribution Fitting Introduction This module fits the gamma probability distributions to a complete or censored set of individual or grouped data values. It outputs various statistics
SAS Rule-Based Codebook Generation for Exploratory Data Analysis Ross Bettinger, Senior Analytical Consultant, Seattle, WA
SAS Rule-Based Codebook Generation for Exploratory Data Analysis Ross Bettinger, Senior Analytical Consultant, Seattle, WA ABSTRACT A codebook is a summary of a collection of data that reports significant
Engineering Problem Solving and Excel. EGN 1006 Introduction to Engineering
Engineering Problem Solving and Excel EGN 1006 Introduction to Engineering Mathematical Solution Procedures Commonly Used in Engineering Analysis Data Analysis Techniques (Statistics) Curve Fitting techniques
SSN validation Virtually at no cost Milorad Stojanovic RTI International Education Surveys Division RTP, North Carolina
Paper PO23 SSN validation Virtually at no cost Milorad Stojanovic RTI International Education Surveys Division RTP, North Carolina ABSTRACT Using SSNs without validation is not the way to ensure quality
Plotting: Customizing the Graph
Plotting: Customizing the Graph Data Plots: General Tips Making a Data Plot Active Within a graph layer, only one data plot can be active. A data plot must be set active before you can use the Data Selector
SAS Add-In 2.1 for Microsoft Office: Getting Started with Data Analysis
SAS Add-In 2.1 for Microsoft Office: Getting Started with Data Analysis The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2007. SAS Add-In 2.1 for Microsoft Office: Getting
Search and Replace in SAS Data Sets thru GUI
Search and Replace in SAS Data Sets thru GUI Edmond Cheng, Bureau of Labor Statistics, Washington, DC ABSTRACT In managing data with SAS /BASE software, performing a search and replace is not a straight
ABSTRACT INTRODUCTION %CODE MACRO DEFINITION
Generating Web Application Code for Existing HTML Forms Don Boudreaux, PhD, SAS Institute Inc., Austin, TX Keith Cranford, Office of the Attorney General, Austin, TX ABSTRACT SAS Web Applications typically
STATGRAPHICS Online. Statistical Analysis and Data Visualization System. Revised 6/21/2012. Copyright 2012 by StatPoint Technologies, Inc.
STATGRAPHICS Online Statistical Analysis and Data Visualization System Revised 6/21/2012 Copyright 2012 by StatPoint Technologies, Inc. All rights reserved. Table of Contents Introduction... 1 Chapter
BNG 202 Biomechanics Lab. Descriptive statistics and probability distributions I
BNG 202 Biomechanics Lab Descriptive statistics and probability distributions I Overview The overall goal of this short course in statistics is to provide an introduction to descriptive and inferential
Tutorial 3: Graphics and Exploratory Data Analysis in R Jason Pienaar and Tom Miller
Tutorial 3: Graphics and Exploratory Data Analysis in R Jason Pienaar and Tom Miller Getting to know the data An important first step before performing any kind of statistical analysis is to familiarize
Paper 23-28. Hot Links: Creating Embedded URLs using ODS Jonathan Squire, C 2 RA (Cambridge Clinical Research Associates), Andover, MA
Paper 23-28 Hot Links: Creating Embedded URLs using ODS Jonathan Squire, C 2 RA (Cambridge Clinical Research Associates), Andover, MA ABSTRACT With SAS/BASE version 8, one can create embedded HTML links
Tutorial 2: Using Excel in Data Analysis
Tutorial 2: Using Excel in Data Analysis This tutorial guide addresses several issues particularly relevant in the context of the level 1 Physics lab sessions at Durham: organising your work sheet neatly,
Visualization Quick Guide
Visualization Quick Guide A best practice guide to help you find the right visualization for your data WHAT IS DOMO? Domo is a new form of business intelligence (BI) unlike anything before an executive
We begin by defining a few user-supplied parameters, to make the code transferable between various projects.
PharmaSUG 2013 Paper CC31 A Quick Patient Profile: Combining External Data with EDC-generated Subject CRF Titania Dumas-Roberson, Grifols Therapeutics, Inc., Durham, NC Yang Han, Grifols Therapeutics,
Machine Learning and Data Mining. Regression Problem. (adapted from) Prof. Alexander Ihler
Machine Learning and Data Mining Regression Problem (adapted from) Prof. Alexander Ihler Overview Regression Problem Definition and define parameters ϴ. Prediction using ϴ as parameters Measure the error
Using Macros to Automate SAS Processing Kari Richardson, SAS Institute, Cary, NC Eric Rossland, SAS Institute, Dallas, TX
Paper 126-29 Using Macros to Automate SAS Processing Kari Richardson, SAS Institute, Cary, NC Eric Rossland, SAS Institute, Dallas, TX ABSTRACT This hands-on workshop shows how to use the SAS Macro Facility
How to Reduce the Disk Space Required by a SAS Data Set
How to Reduce the Disk Space Required by a SAS Data Set Selvaratnam Sridharma, U.S. Census Bureau, Washington, DC ABSTRACT SAS datasets can be large and disk space can often be at a premium. In this paper,
SAS Add in to MS Office A Tutorial Angela Hall, Zencos Consulting, Cary, NC
Paper CS-053 SAS Add in to MS Office A Tutorial Angela Hall, Zencos Consulting, Cary, NC ABSTRACT Business folks use Excel and have no desire to learn SAS Enterprise Guide? MS PowerPoint presentations
What is a piper plot?
What is a piper plot? A piper plot is a way of visualizing the chemistry of a rock, soil, or water sample. It s comprised of three pieces: a ternary diagram in the lower left representing the cations,
SAS/GRAPH 9.2 ODS Graphics Editor. User s Guide
SAS/GRAPH 9.2 ODS Graphics Editor User s Guide The correct bibliographic citation for this manual is as follows: SAS Institute Inc. 2009. SAS/GRAPH 9.2: ODS Graphics Editor User's Guide. Cary, NC: SAS
Center: Finding the Median. Median. Spread: Home on the Range. Center: Finding the Median (cont.)
Center: Finding the Median When we think of a typical value, we usually look for the center of the distribution. For a unimodal, symmetric distribution, it s easy to find the center it s just the center
Predicting Customer Churn in the Telecommunications Industry An Application of Survival Analysis Modeling Using SAS
Paper 114-27 Predicting Customer in the Telecommunications Industry An Application of Survival Analysis Modeling Using SAS Junxiang Lu, Ph.D. Sprint Communications Company Overland Park, Kansas ABSTRACT
Chapter 1: Looking at Data Section 1.1: Displaying Distributions with Graphs
Types of Variables Chapter 1: Looking at Data Section 1.1: Displaying Distributions with Graphs Quantitative (numerical)variables: take numerical values for which arithmetic operations make sense (addition/averaging)
Performing Queries Using PROC SQL (1)
SAS SQL Contents Performing queries using PROC SQL Performing advanced queries using PROC SQL Combining tables horizontally using PROC SQL Combining tables vertically using PROC SQL 2 Performing Queries
Evaluating the results of a car crash study using Statistical Analysis System. Kennesaw State University
Running head: EVALUATING THE RESULTS OF A CAR CRASH STUDY USING SAS 1 Evaluating the results of a car crash study using Statistical Analysis System Kennesaw State University 2 Abstract Part 1. The study
Diagrams and Graphs of Statistical Data
Diagrams and Graphs of Statistical Data One of the most effective and interesting alternative way in which a statistical data may be presented is through diagrams and graphs. There are several ways in
Survey, Statistics and Psychometrics Core Research Facility University of Nebraska-Lincoln. Log-Rank Test for More Than Two Groups
Survey, Statistics and Psychometrics Core Research Facility University of Nebraska-Lincoln Log-Rank Test for More Than Two Groups Prepared by Harlan Sayles (SRAM) Revised by Julia Soulakova (Statistics)
Switching from PC SAS to SAS Enterprise Guide Zhengxin (Cindy) Yang, inventiv Health Clinical, Princeton, NJ
PharmaSUG 2014 PO10 Switching from PC SAS to SAS Enterprise Guide Zhengxin (Cindy) Yang, inventiv Health Clinical, Princeton, NJ ABSTRACT As more and more organizations adapt to the SAS Enterprise Guide,
