Copyright © 2006, SAS Institute Inc. All rights reserved. Company confidential - for internal use only SAS/IML Studio Ian Sedgwick
Copyright © 2006, SAS Institute Inc. All rights reserved. Company confidential - for internal use only Agenda Audience Timeline Functionality Interface Code Benefits
Copyright © 2006, SAS Institute Inc. All rights reserved. Company confidential - for internal use only Audience: High-End Data Analysts Programmers, Statisticians, Researchers Familiar with SAS/IML and SAS/STAT Want to analyse complex data Need a graphical environment to explore data Use standard statistical methods Develop new innovative techniques Work within a single interface
Copyright © 2006, SAS Institute Inc. All rights reserved. Company confidential - for internal use only Timeline Product NameVersionRelease Date SAS/IML Studio?Summer 2009 SAS Stat Studio3.1.1March March 2008 SAS/IML Workshop2.1September September June 2001
Copyright © 2006, SAS Institute Inc. All rights reserved. Company confidential - for internal use only Functionality Windows client application Point -and-click capabilities Write standard IML code Extend IML with IMLPlus statements Run SAS code Extend functionality with Fortran, C, C++, R, Java
Copyright © 2006, SAS Institute Inc. All rights reserved. Company confidential - for internal use only Interface – Data and Tasks available through Menus Selected Menus File: −Open/save workspaces, datasets, matrices View: −Sets attributes for variables and observations to determine how values are used in analysis & graphs Graph: −Create numerous graphs which are linked together with the data table Analysis: − Typically run SAS programs which produce text reports and diagnostic graphs
Copyright © 2006, SAS Institute Inc. All rights reserved. Company confidential - for internal use only Interface – Point & Click
Copyright © 2006, SAS Institute Inc. All rights reserved. Company confidential - for internal use only Interface – Code Window Write standard IML code X={1 2 3} ; Y=T(X); Print X Y; Create and run IML modules Use IMLPlus O-O style methods Run standard SAS and R code Any combination of the above
Copyright © 2006, SAS Institute Inc. All rights reserved. Company confidential - for internal use only IMLPlus Language Objected-oriented programming style language DataObject Class Table and Plot viewers Control output using a number of in-built methods
Copyright © 2006, SAS Institute Inc. All rights reserved. Company confidential - for internal use only IMLPlus Language – Example Code /* Define data to use from SAS server */ declare DataObject dobj; dobj=DataObject.CreateFromServerDataSet("sashelp.Heart"); DataTable.Create(dobj).ActivateWindow(); /* Generate a Bar Chart */ BarChart.Create(dobj,"sex"); /* Generate a Scatter Plot */ ScatterPlot.Create(dobj,"diastolic","systolic");
Copyright © 2006, SAS Institute Inc. All rights reserved. Company confidential - for internal use only Generated Output using Code
Copyright © 2006, SAS Institute Inc. All rights reserved. Company confidential - for internal use only Interface – Continue to work interactively
Copyright © 2006, SAS Institute Inc. All rights reserved. Company confidential - for internal use only Run SAS – Example Code submit; proc reg data=sashelp.heart; model systolic=diastolic; run; quit; endsubmit;
Copyright © 2006, SAS Institute Inc. All rights reserved. Company confidential - for internal use only Interface – Submitting SAS code
Copyright © 2006, SAS Institute Inc. All rights reserved. Company confidential - for internal use only Combining Code /* Pick up predicted and cookd */ declare DataObject dobj; dobj=DataObject.CreateFromServerDataSet("work.out "); DataTable.Create(dobj).ActivateWindow(); /* Generate a Scatter Plot */ declare ScatterPlot plot1; plot1=ScatterPlot.Create(dobj,"pred","cookd"); /* Get reference line data */ dobj.GetVarData("pred",pred); dobj.GetVarData("dcutoff",dcutoff); /* Create iml matrices x & y */ x=min(pred)||max(pred); y=dcutoff[1]||dcutoff[1]; /* Plot cutoff reference line */ plot1.DrawUseDataCoordinates(); plot1.DrawSetPenColor(RED); plot1.DrawLine(x,y); submit; proc reg data=sashelp.heart noprint; model systolic=diastolic; output out=out p=pred cookd=cookd; run; quit; data out(keep=pred cookd dcutoff); set out nobs=n; dcutoff=4/n; run; endsubmit;
Copyright © 2006, SAS Institute Inc. All rights reserved. Company confidential - for internal use only Combining Code
Copyright © 2006, SAS Institute Inc. All rights reserved. Company confidential - for internal use only R functionality R installed locally on client Submit statements to R from within IMLPlus program Exchange data between IMLPlus and R Display graphics produced by R R text output goes to output document window Error messages from R appear in the error log window
Copyright © 2006, SAS Institute Inc. All rights reserved. Company confidential - for internal use only Benefits Audience: High-end data analysts Interactive for exploratory analysis Flexible programming environment IMLPlus methods to customise data and plots Run SAS and R code
Copyright © 2006, SAS Institute Inc. All rights reserved. Company confidential - for internal use only Resources New SAS Discussion Forum for SAS/IML and SAS/IML Studio Papers
Copyright © 2006, SAS Institute Inc. All rights reserved. Company confidential - for internal use only Copyright © 2006, SAS Institute Inc. All rights reserved. Company confidential - for internal use only