Exploratory Data Analysis with SAS Studio Jonathan W
Total Page:16
File Type:pdf, Size:1020Kb
SESUG Paper HOW-113-2017 SAS In The Classroom: Exploratory Data Analysis with SAS Studio Jonathan W. Duggins, NC State University, Raleigh, North Carolina Jim Blum, University of North Carolina Wilmington, Wilmington, North Carolina ABSTRACT SAS Studio®, and by extension SAS University Edition®, provide exciting opportunities for students early in their statistics education. By allowing students, and teachers, the ability to use a point-and-click, web- based interface students can calculate summary statistics, explore complex sampling distributions, and carry out inference procedures using an industry-standard analysis package but with minimal need for programming. We will discuss walking students through an activity intended to develop a graphics-based understanding of the sampling distribution for a mean. At the conclusion of the session participants will know: the difference between tasks and snippets; how to create graphical and numerical summaries of a data set, how to draw samples from a population; and how to use macro variables to customize the code generated by a process flow. INTRODUCTION SAS Studio provides access to SAS via a web browser that connects to a SAS server. Since that server can be a local copy of SAS installed on your PC, a local network SAS server, or a cloud-based SAS server this provides a flexible and convenient way to interact with SAS. SAS University Edition allows users to access SAS via a virtual application that includes a SAS server in the installation. Regardless of the location of the SAS server, once it processes the user-submitted code the results are displayed via your web browser using the SAS Studio interface. As such, the term SAS Studio is used exclusively for the rest of this paper with the understanding that the end-user must select the best implementation for their classroom setting. Regardless of implantation, SAS Studio provides an opportunity to introduce more high school students to statistical software to help them develop a deeper understanding of data analysis and help high school teachers implement portions of the newest Guidelines for Assessment and Instruction in Statistics Education (GAISE) Report. With the ability to provide drag-and-drop and point-and-click interfaces students can quickly begin exploring data using an intuitive interface. Attendees learn how to use SAS Studio to select random samples, explore data graphically, and generate a sampling distribution by creating a custom snippet. SAS STUDIO BASICS When opening SAS Studio users will notice the navigation pane, shown in Figure 1, on the left of the screen that provides access to files, libraries, and other useful resources such as tasks and snippets. Figure 1. SAS Studio home screen. Navigation pane (left) and workflow pane (right). The Files and Folders menu and Libraries menu allow navigation to access files and data sets for use during the current SAS session. The Tasks and Utilities menu gives users access to a wide variety of common programming elements (e.g. random sampling or data transposition) that allow output to be 1 generated via a point-and-click interface. Snippets are smaller programs designed to be inserted into the user’s workflow. Unlike tasks, snippets are not editable via a point-and-click or menu-driven interface; instead their lines of code need to be edited manually. However, once edited the user has the option of saving the updated code as a custom snippet that will appear in the Snippets menu. Users should also note they have the option to select the Visual Programmer or SAS Programmer perspective via a dropdown menu shown near the top right corner of the current session. (Top right, Figure 1.) The SAS programmer perspective allows users to create original programs from scratch or edit previously created programs. This perspective would be familiar to programmers with experience using SAS via the Interactive Windowing Environment but with the code, log, and results viewer windows now represented as tabs within the same web page. However, users are now able to add code to a program via a snippet by simply dragging it from the snippet menu into their program editor. When using the visual programmer perspective users will be able to build a process flow in the workspace pane, shown on right side of Figure 1. Process flows are built when the user drags an object, such as a task or snippet, from the navigation pane into the workspace. Each object creates a node that can be connected to other nodes; these connections then create the process flow. Participants will be walked through creating a process flow. SCENARIO AND DATA SET The National Center for Missing and Exploited Children (NCMEC) provides publicly available data that includes several variables related to open cases of missing children. The data set used here is from March, 2017. This data was made public as part of the Cloudera Child Finder Hackathon to prompt the development of new techniques for finding missing children. In this workshop participants will be guided through using SAS Studio to explore the data and use it to demonstrate some statistical principles appropriate for an AP Statistics course. CREATING THE PROCESS FLOW READING THE DATA Participants have been provided with the NCMEC data and there are several methods for making it available for use. The most flexible is to create a new library to contain the input data and hold any output data sets that are created. To add a library, first go to the navigation pane and click on the Libraries menu. Next, click on the file drawer icon (indicated by the red circle in Figure 2) to bring up the New Library dialog box. Figure 2. New Library dialog box. 2 In the dialog box include the information shown below to provide your library with a name and the physical location where your NCMEC data set is located. Once the information has been provided, click OK to add the library, which the author named SESUG, to the list of libraries shown in the Navigation Pane. Clicking on the newly added library will show the icon for the NCMEC data set. TASKS Now that the data has been made available participants can begin constructing the process flow. The first five nodes included in the solution to this activity come from the Tasks and Utilities menu. The first task is the histogram which is found by going to Tasks and Utilities Tasks Graphs Histogram. Dragging the histogram task from this menu into the workspace adds the histogram as a node in the process flow as shown in Figure 3. Figure 3. Histogram task as a process flow node The red triangle in the circle located in the lower right corner of the node indicates it is not completed and still requires user input. Three smaller boxes on the edges of the node – two on the left and one on the right – appear as well. The lower left-hand box has a grayed out data set icon indicating that no data set has been assigned to the node yet. The remaining boxes are control ports. Control ports are used to indicate the order in which nodes should be included in the process flow. With only a single node in the process flow these ports are not needed yet. To access the histogram node, double-click it (or right-click and select Open from the menu) and the workspace pane will be further split: on the left are the settings for this node and on the right is where SAS will display the code and results generated based on the user’s choices in the settings. Figure 4 shows the panes from the author’s SAS Studio session. Figure 4. Histogram task with Settings (left) and Code/Results (right) displayed. 3 Users can select to see only the Settings or Code/Results pane by selecting the appropriate button at the top left of the session; Split is chosen by default to allow users to see both panes. The top of the settings pane includes four tabs: Data, Options, Information, and Node. The Data tab is selected with two settings expanded by default: Data and Roles. The Code/Results pane initially contains three tabs: Code, Log, and Results; the Code tab is active by default. Looking again at the Data tab users will also notice the red exclamation point indicating that SAS can’t generate a histogram yet. The histogram task requires both a data set and an analysis variable be selected. The Code tab indicates that no code could be generated as a result; users will need to specify a data set and an analysis variable to proceed. Under the Data setting the drop-down allows the selection of a recently-used data set and the icon to the right of the drop-down opens a dialog box where a user can navigate to any desired data set. SAS Studio will populate this field automatically with a recently used data set so it is important to ensure the correct data set is selected for each node in the process flow. Attendees should use the NCMEC data set in the SESUG library added above to begin the process flow. Figure 5. Histogram task showing Data tab selections and resulting code. Users can now select a single response variable for the histogram via the plus sign next to Analysis variable under the Roles setting. This displays a list of the numeric variables available in the data set from the Data setting. (If the wrong variable is chosen the trashcan icon can be used to remove it.) Expanding the Density Curves setting shows two check boxes that can be used to request normal and kernel density estimates be overlain on the histogram.