
Programming with Data
A Guide to the S Language
By: John M. Chambers, J. M. Chambers
Paperback | 6 July 2004
At a Glance
488 Pages
24.13 x 15.88 x 2.54
Paperback
$84.99
or 4 interest-free payments of $21.25 with
orShips in 5 to 7 business days
S is designed for computing with data - for any project in which organizing, visualizing, summarizing, or modeling data is a central concern. Its focus is on the needs of the programmer/user, and its goal is "to turn ideas into software, quickly and faithfully." S is a functional, object-based language with a huge library of functions for all aspects of computing with data. Its long and enthusiastic use in statistics and applied fields has also led to many valuable libraries of user-written functions.
The new version of S provides a powerful class/method structure, new techniques to deal with large objects, extended interfaces to other languages and files, object-based documentation compatible with HTML, and powerful new interactive programming techniques. This version of S underlies the S-Plus system, versions 5.0 and higher.
John Chambers has been a member of the technical staff in research at Bell Laboratories since 1966. In 1977, he became the first statistician to be named a Bell Labs Fellow, cited for "pioneering contributions to the field of statistical computing." His research has touched on nearly all aspects of computing with data, but he is best known for the design of the S language. He is the author or co-author of seven books on S, on computational methods, and on graphical methods; and he is a Fellow of the American Statistical Association and the American Association for the Advancement of Science.
| Highlights | p. 1 |
| Computing with S | p. 1 |
| Getting Started | p. 6 |
| Using S Functions | p. 7 |
| Arguments to Functions | p. 8 |
| Arithmetic and Other Operators | p. 10 |
| Data, Objects, and Databases | p. 12 |
| Objects and Classes | p. 12 |
| Assignments to Databases | p. 14 |
| Computing with Databases | p. 15 |
| Getting Data into S; Connections | p. 16 |
| Writing S Functions | p. 19 |
| Creating a Function Object | p. 19 |
| Turning Tasks into a Function | p. 21 |
| Editing a Function | p. 22 |
| Debugging and Testing Functions | p. 24 |
| Documenting S Functions | p. 31 |
| Defining Classes and Methods | p. 32 |
| Defining Methods | p. 34 |
| Defining a New Class | p. 37 |
| An Extended Example | p. 44 |
| Creating Objects from the Class | p. 46 |
| Displaying Objects from the Class | p. 52 |
| Manipulations and Modeling | p. 57 |
| Concepts | p. 61 |
| S and Other Languages | p. 61 |
| Communicating with S | p. 64 |
| Data: Objects | p. 65 |
| The Language | p. 66 |
| S as a Functional Language | p. 67 |
| S Expressions as Objects | p. 70 |
| Databases and Chapters | p. 74 |
| The S Model for Databases | p. 74 |
| Dumping Objects; Sharing Chapters | p. 76 |
| Functions | p. 78 |
| Function Objects | p. 79 |
| Defining New Functions | p. 81 |
| Methods | p. 83 |
| Classes of Objects | p. 85 |
| Interfaces | p. 88 |
| Connections | p. 89 |
| Interfaces to the Shell | p. 89 |
| Interfaces to Subroutines | p. 92 |
| Quick Reference | p. 95 |
| The S Session | p. 96 |
| The S Language | p. 97 |
| Computing with S | p. 100 |
| Databases | p. 107 |
| Programming | p. 110 |
| Classes and Methods | p. 113 |
| Documentation | p. 115 |
| Connections; Reading and Writing; Events | p. 116 |
| Interfaces | p. 118 |
| Computations in S | p. 119 |
| The S Session | p. 119 |
| Customizing the Session | p. 120 |
| Selecting the Working Data | p. 123 |
| Keeping Track of the Session | p. 124 |
| Quitting from the Session | p. 125 |
| Interactive or Not? | p. 127 |
| The Language | p. 127 |
| Syntax | p. 128 |
| The Language as Objects | p. 131 |
| The S Evaluator | p. 133 |
| Control of Computations | p. 134 |
| Assignment Expressions | p. 137 |
| Numeric Computations | p. 140 |
| Operations on Vectors and Structures | p. 143 |
| Different Classes of Numeric Data | p. 145 |
| Testing and Matching | p. 146 |
| Comparisons; Tests of Equality | p. 147 |
| Matching; Hash Tables | p. 150 |
| Regular Expressions | p. 152 |
| Partial Matching | p. 154 |
| Extracting and Replacing Data | p. 156 |
| Extracting and Replacing Subsets | p. 156 |
| General Replacement Expressions | p. 159 |
| Graphics | p. 161 |
| Models and Advanced Numerical Methods | p. 163 |
| Matrix Computations | p. 163 |
| Numerical Linear Algebra | p. 164 |
| Model-Fitting Functions | p. 165 |
| Efficiency in Large Computations | p. 167 |
| The Whole-Object View | p. 168 |
| Techniques and Tools for Large Computations | p. 170 |
| Iteration and the Apply Functions | p. 173 |
| The S Evaluation Model | p. 175 |
| The Evaluator as an S Function | p. 175 |
| Evaluating Function Calls | p. 176 |
| Argument Matching | p. 178 |
| Argument Evaluation | p. 181 |
| Arbitrarily Many Arguments | p. 183 |
| Method Selection | p. 185 |
| Data Sharing | p. 189 |
| Objects, Databases, and Chapters | p. 195 |
| Some Important Classes of Objects | p. 195 |
| Vector Classes: Fundamental S Data | p. 196 |
| Internal Representation of Vector Classes | p. 200 |
| Character String Data | p. 200 |
| Substrings and String Manipulation | p. 205 |
| Lists, Trees, Recursive Objects | p. 208 |
| S Structures | p. 210 |
| Raw Data | p. 211 |
| Databases | p. 212 |
| Finding and Assigning Objects Automatically | p. 213 |
| The Search List | p. 215 |
| Properties of Attached Databases | p. 217 |
| The Objects in a Database | p. 219 |
| Attaching and Detaching Databases | p. 223 |
| Attaching Chapters | p. 224 |
| Optional Arguments for Attaching Databases | p. 225 |
| Actions on Attaching and Detaching Databases | p. 227 |
| Attaching Objects | p. 227 |
| Attaching Databases Temporarily | p. 228 |
| Chapters | p. 230 |
| Creating a Chapter | p. 231 |
| Dumping, Moving, and Rebooting a Chapter | p. 232 |
| Dumping and Restoring Objects | p. 234 |
| Deparsing and Dumping for Editing | p. 235 |
| The Symbolic Dump Format | p. 237 |
| Using the Symbolic Dump Format | p. 239 |
| Creating Functions | p. 243 |
| S Functions and Expressions | p. 243 |
| Creating and Editing Functions | p. 244 |
| Dealing with Optional Arguments | p. 249 |
| Programming with Arbitrarily Many Arguments | p. 252 |
| Writing Replacement Functions | p. 255 |
| Organizing Your S Software | p. 257 |
| The Programming Cycle | p. 258 |
| Organizing the Chapter | p. 259 |
| Tools for Testing | p. 261 |
| Debugging and Error-Handling | p. 264 |
| Browsing in the Evaluator | p. 264 |
| Tracing and Interactive Browsing | p. 267 |
| The Error Option | p. 268 |
| Additional Control of Errors and Interrupts | p. 270 |
| Programming the User Interface | p. 272 |
| Functions for Parsing and Evaluating | p. 273 |
| Generating Messages and Errors | p. 274 |
| Communicating with the User | p. 276 |
| Creating Classes | p. 279 |
| Specifying a Class | p. 279 |
| Defining and Editing a New Class | p. 280 |
| Representations and Extensions | p. 282 |
| Prototypes; New Objects | p. 287 |
| Computations with Slots | p. 290 |
| Virtual Classes | p. 292 |
| Validity-Checking Methods | p. 295 |
| Structures and Structure-like Classes | p. 299 |
| Classes with Fixed Definitions | p. 301 |
| Relations Between Classes | p. 302 |
| Specifying is Relations | p. 303 |
| Coercing: as Relations | p. 307 |
| Generating Objects from a Class | p. 308 |
| Updating Classes; Version Management | p. 311 |
| New Vector Classes | p. 314 |
| Metadata for Classes | p. 316 |
| Creating Methods | p. 321 |
| Basic Techniques | p. 321 |
| Method Specification | p. 322 |
| Editing Methods | p. 325 |
| Examining Methods | p. 327 |
| Removing Methods | p. 328 |
| Tracing Methods | p. 330 |
| Methods for Some Important Functions | p. 331 |
| Scanning a File | p. 331 |
| Printing | p. 332 |
| Plotting | p. 333 |
| Dumping Data for Editing | p. 337 |
| Extracting and Replacing Subsets | p. 339 |
| Mathematical and Summary Functions | p. 342 |
| Arithmetic and Other Operators | p. 344 |
| Generic Functions | p. 347 |
| Generic Functions as Objects | p. 347 |
| Specifying the Generic Function | p. 348 |
| Group Generic Functions | p. 352 |
| Documentation | p. 355 |
| Viewing Online Documentation | p. 356 |
| Self-Documentation | p. 359 |
| Editing Documentation | p. 362 |
| Documenting Classes | p. 369 |
| Documentation Objects | p. 369 |
| Connections | p. 373 |
| Reading and Writing with Connections | p. 373 |
| Connection Classes | p. 377 |
| Opening and Closing Connections | p. 382 |
| Standard Input and Output Connections | p. 387 |
| Manipulating Connections | p. 390 |
| Pushing Data Back onto a Connection | p. 390 |
| Connection Modes; File Positions | p. 392 |
| Blocking and Non-Blocking Connections | p. 394 |
| Raw (Binary) Data on Connections | p. 396 |
| Connections and Events | p. 398 |
| Reader Connections | p. 398 |
| Monitors; Timeout Events | p. 403 |
| Choosing a Task | p. 404 |
| Interfaces to C and Fortran | p. 405 |
| The S Chapter | p. 407 |
| Initializing the Chapter | p. 407 |
| Attaching and Detaching the Chapter | p. 409 |
| Modifying the Chapter | p. 410 |
| Interface Functions | p. 411 |
| The Interface to C | p. 413 |
| The Interface to Fortran | p. 417 |
| Classes; Copying | p. 420 |
| Dealing with NA's in C | p. 424 |
| Raw Data in C | p. 425 |
| Programming in C with S objects | p. 427 |
| The .Call Interface | p. 428 |
| C Routines Returning S Objects | p. 429 |
| S Objects from Basic S Classes | p. 431 |
| Protecting S Objects in C | p. 437 |
| C Evaluation Utilities for S Objects | p. 439 |
| S Classes in C | p. 440 |
| Handling Errors in C | p. 443 |
| Compatibility with Older Versions | p. 445 |
| Converting Old Libraries and Databases | p. 447 |
| Classes | p. 449 |
| Modernizing Old Data | p. 451 |
| Old-Style Interface to C and Fortran | p. 453 |
| Old-Style Documentation | p. 453 |
| Table of Contents provided by Syndetics. All Rights Reserved. |
ISBN: 9780387985039
ISBN-10: 0387985034
Series: Lecture Notes in Economics and
Published: 6th July 2004
Format: Paperback
Language: English
Number of Pages: 488
Audience: Professional and Scholarly
Publisher: Springer Nature B.V.
Country of Publication: US
Dimensions (cm): 24.13 x 15.88 x 2.54
Weight (kg): 0.69
Shipping
| Standard Shipping | Express Shipping | |
|---|---|---|
| Metro postcodes: | $9.99 | $14.95 |
| Regional postcodes: | $9.99 | $14.95 |
| Rural postcodes: | $9.99 | $14.95 |
Orders over $79.00 qualify for free shipping.
How to return your order
At Booktopia, we offer hassle-free returns in accordance with our returns policy. If you wish to return an item, please get in touch with Booktopia Customer Care.
Additional postage charges may be applicable.
Defective items
If there is a problem with any of the items received for your order then the Booktopia Customer Care team is ready to assist you.
For more info please visit our Help Centre.
























