Acknowledgments |
|
vii | |
Introducing SAS Software |
|
viii | |
About This Book |
|
ix | |
What's New |
|
xii | |
|
Getting Started Using SAS Software |
|
|
|
|
2 | (2) |
|
|
4 | (2) |
|
The Two Parts of a SAS Program |
|
|
6 | (2) |
|
The DATA Step's Built-in Loop |
|
|
8 | (2) |
|
Choosing a Mode for Submitting SAS Programs |
|
|
10 | (2) |
|
Windows and Commands in the SAS Windowing Environment |
|
|
12 | (2) |
|
Submitting a Program in the SAS Windowing Environment |
|
|
14 | (2) |
|
|
16 | (2) |
|
Viewing and Printing the SAS Output |
|
|
18 | (2) |
|
|
20 | (4) |
|
Getting Your Data into the SAS System |
|
|
|
Methods for Getting Your Data into the SAS System |
|
|
24 | (2) |
|
Telling SAS Where to Find Your Raw Data |
|
|
26 | (2) |
|
Reading Raw Data Separated by Spaces |
|
|
28 | (2) |
|
Reading Raw Data Arranged in Columns |
|
|
30 | (2) |
|
Reading Raw Data Not in Standard Format |
|
|
32 | (2) |
|
|
34 | (2) |
|
|
36 | (2) |
|
Listing the Contents of a SAS Data Set |
|
|
38 | (2) |
|
Temporary versus Permanent SAS Data Sets |
|
|
40 | (2) |
|
Using LIBNAME Statements with Permanent SAS Data Sets |
|
|
42 | (2) |
|
Entering Data with the Viewtable Window |
|
|
44 | (2) |
|
Reading Multiple Lines of Raw Data per Observation |
|
|
46 | (2) |
|
Reading Multiple Observations per Line of Raw Data |
|
|
48 | (2) |
|
Reading Part of a Raw Data File |
|
|
50 | (2) |
|
Controlling Input with Options in the INFILE Statement |
|
|
52 | (2) |
|
Reading Delimited Files with the DATA Step |
|
|
54 | (2) |
|
Reading Delimited Files with the IMPORT Procedure |
|
|
56 | (2) |
|
Reading PC Database Files with DDE or the IMPORT Procedure |
|
|
58 | (2) |
|
Writing Delimited Files with the EXPORT Procedure |
|
|
60 | (2) |
|
Writing Raw Data Files with the DATA Step |
|
|
62 | (4) |
|
|
|
Creating and Redefining Variables |
|
|
66 | (2) |
|
|
68 | (2) |
|
|
70 | (2) |
|
|
72 | (2) |
|
Grouping Observations with IF-THEN/ELSE Statements |
|
|
74 | (2) |
|
|
76 | (2) |
|
|
78 | (2) |
|
Selected Date Informats, Functions, and Formats |
|
|
80 | (2) |
|
Using the RETAIN and Sum Statements |
|
|
82 | (2) |
|
Simplifying Programs with Arrays |
|
|
84 | (2) |
|
Using Shortcuts for Lists of Variable Names |
|
|
86 | (4) |
|
Sorting, Printing, and Summarizing Your Data |
|
|
|
|
90 | (2) |
|
Subsetting in Procedures with the WHERE Statement |
|
|
92 | (2) |
|
Sorting Your Data with PROC SORT |
|
|
94 | (2) |
|
Printing Your Data with PROC PRINT |
|
|
96 | (2) |
|
Changing the Appearance of Printed Values with Formats |
|
|
98 | (2) |
|
Selected Standard Formats |
|
|
100 | (2) |
|
Creating Your Own Formats Using PROC FORMAT |
|
|
102 | (2) |
|
Writing Simple Custom Reports |
|
|
104 | (2) |
|
Summarizing Your Data Using PROC MEANS |
|
|
106 | (2) |
|
Writing Summary Statistics to a SAS Data Set |
|
|
108 | (2) |
|
Counting Your Data with PROC FREQ |
|
|
110 | (2) |
|
Producing Tabular Reports with PROC TABULATE |
|
|
112 | (2) |
|
Adding Statistics to Tabular Reports |
|
|
114 | (2) |
|
Visualizing Your Data with PROC PLOT |
|
|
116 | (2) |
|
Formatting Procedure Output for Display on the Internet |
|
|
118 | (2) |
|
Creating SAS Data Sets from Procedure Output |
|
|
120 | (4) |
|
Modifying and Combining SAS Data Sets |
|
|
|
Modifying a Data Set Using the SET Statement |
|
|
124 | (2) |
|
Stacking Data Sets Using the SET Statement |
|
|
126 | (2) |
|
Interleaving Data Sets Using the SET Statement |
|
|
128 | (2) |
|
Combining Data Sets Using a One-to-One Match Merge |
|
|
130 | (2) |
|
Combining Data Sets Using a One-to-Many Match Merge |
|
|
132 | (2) |
|
Merging Summary Statistics with the Original Data |
|
|
134 | (2) |
|
Combining a Grand Total with the Original Data |
|
|
136 | (2) |
|
Updating a Master Data Set with Transactions |
|
|
138 | (2) |
|
Using SAS Data Set Options |
|
|
140 | (2) |
|
Tracking and Selecting Observations with the IN= Option |
|
|
142 | (2) |
|
Writing Multiple Data Sets Using the OUTPUT Statement |
|
|
144 | (2) |
|
Making Several Observations from One Using the OUTPUT Statement |
|
|
146 | (2) |
|
Changing Observations to Variables Using PROC TRANSPOSE |
|
|
148 | (2) |
|
Using SAS Automatic Variables |
|
|
150 | (4) |
|
Writing Flexible Code with the SAS Macro Facility |
|
|
|
|
154 | (2) |
|
Substituting Text with Macro Variables |
|
|
156 | (2) |
|
Creating Modular Code with Macros |
|
|
158 | (2) |
|
Adding Parameters to Macros |
|
|
160 | (2) |
|
Writing Macros with Conditional Logic |
|
|
162 | (2) |
|
Writing Data-Driven Programs with CALL SYMPUT |
|
|
164 | (2) |
|
|
166 | (4) |
|
Using Basic Statistical Procedures |
|
|
|
Examining the Distribution of Data with PROC UNIVARIATE |
|
|
170 | (2) |
|
Producing Statistics with PROC MEANS |
|
|
172 | (2) |
|
Testing Categorical Data with PROC FREQ |
|
|
174 | (2) |
|
Examining Correlations with PROC CORR |
|
|
176 | (2) |
|
Using PROC REG for Simple Regression Analysis |
|
|
178 | (2) |
|
Reading the Output of PROC REG |
|
|
180 | (2) |
|
Using PROC ANOVA for One-Way Analysis of Variance |
|
|
182 | (2) |
|
Reading the Output of PROC ANOVA |
|
|
184 | (2) |
|
Introducing the Analyst Application |
|
|
186 | (4) |
|
Debugging Your SAS Programs |
|
|
|
Writing SAS Programs That Work |
|
|
190 | (2) |
|
Fixing Programs That Don't Work |
|
|
192 | (2) |
|
Searching for the Missing Semicolon |
|
|
194 | (2) |
|
Note: INPUT Statement Reached Past the End of the Line |
|
|
196 | (2) |
|
|
198 | (2) |
|
|
200 | (2) |
|
Note: Missing Values Were Generated |
|
|
202 | (2) |
|
Note: Numeric Values Have Been Converted to Character (or Vice Versa) |
|
|
204 | (2) |
|
DATA Step Produces Wrong Results but No Error Message |
|
|
206 | (2) |
|
|
208 | (2) |
|
Error: Invalid Option, Error: The Option Is Not Recognized, or Error: Statement Is Not Valid |
|
|
210 | (2) |
|
Note: Variable Is Uninitialized or Error: Variable Not Found |
|
|
212 | (2) |
|
SAS Truncates a Character Variable |
|
|
214 | (2) |
|
SAS Stops in the Middle of a Job |
|
|
216 | (2) |
|
SAS Runs Out of Memory or Disk Space |
|
|
218 | (4) |
Appendices |
|
|
|
222 | (2) |
|
B Getting Help from SAS Institute Technical Support |
|
|
224 | (2) |
|
C An Overview of SAS Products |
|
|
226 | (2) |
|
D Coming to SAS from SPSS |
|
|
228 | (6) |
|
E Coming to SAS from a Programming Language |
|
|
234 | (4) |
|
|
238 | (7) |
Index |
|
245 | |