a programming environment for data analysis and graphics /
Richard A. Becker, John M. Chambers, Allan R. Wilks.
Boca Raton, FL :
CRC Press LLC,
2018.
1 online resource.
CRC revivals
Cover -- Half Title -- Title Page -- Copyright Page -- Dedication -- Preface -- Table of Contents -- 1 How to Beat the Lottery -- 1.1 Using S to Understand Data -- 1.2 New Jersey Pick-It Lottery Data -- 1.3 A Comment -- 1.4 Related Reading -- 2 Tutorial Introduction to S -- 2.1 Invoking S -- 2.2 Expressions and Data -- 2.3 Arithmetic -- 2.4 Comparison Operators -- 2.5 Extracting Data: Subscripts -- 2.6 Graphics -- 2.7 Writing Functions -- 2.8 Wrap-up -- Answers to Selected Exercises -- 3 Using the S Language -- 3.1 Basic Concepts: Expressions and Data -- 3.2 The S Language -- 3.2.1 Expressions and Operators -- 3.2.2 Assignment -- 3.2.3 Subscripts -- 3.2.4 Functions -- 3.2.5 Continuation -- 3.2.6 Operators: Replication, Coercion, and Precedence -- 3.3 Some Common S Functions -- 3.3.1 Data Manipulation -- 3.3.2 Summaries -- 3.3.3 Numerical Transformations -- 3.3.4 Generation of Random Numbers -- 3.4 The S Environment -- 3.4.1 Errors and Interrupts -- 3.4.2 Editing and Error Correction -- 3.4.3 On-Line Documentation -- Help -- 3.4.4 UNIX System Interaction -- 3.4.5 Interacting with S: History -- 3.4.6 Options -- 3.4.7 Source and Sink Files -- 3.4.8 Batch Execution of S -- 3.4.9 Controlling the S Session: First, Last -- 3.4.10 S Library -- Answers to Selected Exercises -- 4 Graphical Methods in S -- 4.1 Introduction to Graphics -- 4.2 Looking at Data -- 4.2.1 Plotting Two-Dimensional Data -- 4.2.2 Studying the Distribution of a Set of Data -- 4.2.3 Comparing Data Distributions -- 4.2.4 Plotting Multivariate Data -- 4.3 Interacting with Plots -- 4.4 Specialized Plots -- 4.4.1 Presentation Graphics: Bars, Pies, and VuGraphs -- 4.4.2 Maps -- 4.4.3 Plotting Surfaces in Three Dimensions -- Answers to Selected Exercises -- 5 Data in S -- 5.1 Simple Objects -- 5.1.1 Data Values -- 5.1.2 Creating, Testing, and Coercing Simple Objects -- 5.1.3 Subscripting.
5.1.4 Character Vectors -- 5.1.5 Complex Numbers -- 5.2 Non-Atomic Data -- Components -- 5.3 Data Input -- 5.4 Data Directories and Frames -- 5.4.1 Searching for Objects -- 5.4.2 Getting, Assigning, and Removing -- 5.5 Classes of Objects in S -- 5.5.1 Matrices -- 5.5.2 Arrays -- 5.5.3 Categorical Variables -- 5.5.4 Time-Series -- 5.6 Data Attributes -- 5.6.1 Arithmetic and Comparison with Attributes -- 5.6.2 Throwing Away Attributes -- Answers to Selected Exercises -- 6 Writing Functions -- 6.1 Overview of Functions -- 6.1.1 The General Form of Functions -- 6.1.2 Missing Arguments -- Defaults -- 6.1.3 Variable Number of Arguments -- 6.1.4 Designing Functions -- 6.2 Organizing Computations -- 6.2.1 Conditional Computations: if, switch,&&, II -- 6.2.2 Iteration: for, while, repeat -- 6.2.3 Recursion -- 6.3 Using UNIX Commands -- 6.4 The Programming Environment -- 6.4.1 Editing -- 6.4.2 Debugging -- 6.4.3 Error Actions -- Answers to Selected Exercises -- 7 More on Writing Functions -- 7.1 Interacting with Users -- 7.1.1 Writing -- 7.1.2 Reading User Input -- 7.1.3 Menu Interactions -- 7.2 Interface to C and Fortran -- 7.2.1 Dynamic Loading -- 7.2.2 Static Loading: Private Copies of S -- 7.2.3 Using the .Fortran and .C Functions -- 7.2.4 Calling S from C -- 7.3 Specialized Techniques -- 7.3.1 Making Files -- Cleaning Up -- on. exit -- 7.3.2 Functions for Data Manipulation -- 7.3.3 User-Defined Operators -- 7.3.4 User-Defined Assignments -- 7.3.5 Efficiency: Time and Memory -- 7.4 Control Over Evaluation -- 7.4.1 Objects Defining the Evaluator -- 7.4.2 Tracing Function Evaluation -- 7.4.3 Taking Over Error-Handling: Restart -- 7.4.4 Redefining Program -- 7.5 Computing on the Language -- 7.5.1 Menu Actions -- 7.5.2 Expressions as Symbolic Arguments -- 7.5.3 Constructing Expressions -- Answers to Selected Exercises -- 8 More about Data.
8.1 Classes of Objects in S -- 8.2 Defining Classes by Components -- 8.3 Defining Classes by Attributes -- 8.3.1 Grids: An Extension of Arrays -- 8.3.2 Extended Function Definitions -- 8.4 Attributes or Components? -- Answers to Selected Exercises -- 9 Examples and Case Studies -- 9.1 Data Input and Checking -- 9.2 Problem Solving: Algorithms -- 9.2.1 Working with Dates -- 9.2.2 Sample Size from Percentages -- 9.2.3 Names from Phone Numbers -- 9.3 Collections of Objects: Data Organization -- 9.4 A Computer Game: Simulation -- 9.5 Presentation Graphics -- 9.6 Symbolic Computations: Derivatives -- Answers to Selected Exercises -- 10 Advanced Graphics -- 10.1 High-Level Plotting Functions -- 10.2 Basic Notions -- 10.2.1 Plots, Figures, and Coordinate Systems -- 10.2.2 Graphics Objects -- 10.3 Graphical Parameters -- 10.4 Low-Level Plotting Functions -- 10.5 Building Plots -- 10.5.1 Building Graphs -- 10.5.2 Control of Plotting Range -- 10.5.3 A Do-It-Yourself Plot Function -- 10.6 Multiple Plots per Page -- 10.7 Advanced Graphics Applications -- Answers to Selected Exercises -- 11 How S Works -- 11.1 The Language -- 11.1.1 The Grammar -- 11.1.2 Lexicalltems -- 11.2 Semantics: A Model for Evaluation -- 11.2.1 Function Calls: Mode call -- 11.2.2 Mode name -- 11.2.3 Assignments -- 11.2.4 Iteration -- 11.2.5 return -- break -- next -- 11.2.6 Braced Lists of Expressions -- 11.2.7 Conditional Expressions: if -- 11.2.8 Bound Function Calls: Mode frame -- 11.2.9 Internal Computations -- 11.3 Special Function Evaluation -- 11.3.1 switch -- 11.3.2 Missing Arguments -- 11.3.3 Substitution -- Expressions -- 11.3.4 Control: & & and II -- 11.3.5 Argument Matching -- 11.4 Other Important Functions -- 11.4.1 Vector Subscripts: x [ i ] -- 11.4.2 Array Subscripts -- 11.4.3 Elements, Components, and Attributes -- 11.4.4 Binary (Infix) Operators -- Bibliography.
Appendix 1 S Function Documentation -- Appendix 2 S Dataset Documentation -- Appendix 3 Index to S Functions -- Appendix 4 Old-S and S -- Index.