Skip to main content

Table of Contents


1. Introduction

Over the years, the S language and S-(scPlus) have undergone many changes. Since its development in the mid-1970s, the three main authors of S, Rick Becker, John Chambers, and Allan Wilks, have enhanced the entire language considerably. All their work was done at Bell Labs with the original goal of defining a language to make it easier to do repetitive tasks in data analysis, such as calculating a linear model.

2. Graphical User Interface

S-Plus has an excellent graphical user interface (GUI) that allows the user to access its functionalities by pointing and clicking with the mouse. This convenient way of working with S-Plus was previously only available for the Windows platform but has now been added for the UNIX/Linux platform as well.

3. A First Session

The remainder of the book is devoted to the use of S-Plus via the command line. We will look at how to use S-Plus as a calculator for simple and complex calculations. We will look at different data structures and how to handle data flexibly. We will generate graphs displaying data and mathematical functions, explore data sets in detail, and use statistical models. Finally, we will import data in several ways, automatize tasks by writing functions, and investigate many details that can help a lot in practice.

4. A Second Session

Some of the most basic functions available in S-Plus were presented in the previous chapter. It is time to move on to more advanced data structures that will allow easier completion of necessary tasks. We begin with matrices and then branch out into more specialized structures such as data frames and lists. Subsetting by index value and missing values are introduced, and we close with a few new applications and a review of the material covered in the chapter.

5. Graphics

Graphs are one of S-Plus’ strongest capabilities and most attractive features. This section gives an overview of how to create graphs and how to use the different parameters to modify elements and layouts of graphs.

6. Trellis Graphics

Cleveland (1993) introduced the idea of Trellis displays as a graphical way of examining high-dimensional structure in data by means of conditional one-, two-, and three-dimensional graphs. The problem addressed is how observations of one or more variables depend on the observation of other variables. To answer this question, the data are subset (split up into groups) according to the observations of the conditioning variables — the ones that are supposed to have an influence on the others.

7. Exploring Data

In the preceding chapters, we have laid the foundation for understanding the concepts and ideas of the S-Plus system. We explored basic ideas and how to use S-Plus for performing calculations, and we have seen how data can be generated, stored, and accessed. Furthermore, we also looked at how data can be displayed graphically. All this will be useful as we explore real data sets in this chapter. We will explore data sets that come with S-(scPlus), specifically the Barley and Geyser data sets.

8. Statistical Modeling

We have now learned some elementary statistical techniques in S-Plus and the basics of graphical data analysis. The next step is to see what S-Plus has to offer in terms of modeling. Statistical modeling is one of the strongest S-Plus features because of its unified approach, wide variety of model types, and excellent diagnostic capabilities. We start with an example of how to fit a simple linear regression model and corresponding diagnostics. The example is presented with a minimum of technical explanation, and is designed as a quick introduction. We then formally explain the unified approach to model syntax and structure, commenting on several of the more popular types of statistical models.

9. Programming

Now that you have learned the elementary commands in S-Plus and many ways of applying them, it is time to discover its advanced programming functionalities. This chapter introduces list structures, loops, and writing functions, covers debugging matters, and gives some more details on how to use S-(scPlus) as a programming language.

10. Object-Oriented Programming

We will now cover the S Language in some more depth. It is described in full detail in the standard reference (Chambers, 1998).

11. Input and Output

It is every user’s intention to analyze his or her own data. The data have to be read into the system before they can be analyzed. This chapter discusses in detail the different ways of reading and writing data. Writing S-(scPlus) output and transferring data files are other important input/output functions covered.

12. S-(scPlus) Internals

This chapter will go into detail about how S-Plus works and how you can take advantage of it. We will look at how S-Plus starts up, how it finds and stores data, how the environment can be customized, and how data are passed between functions.

13. Tips and Tricks

As we are getting towards the end of the book, we look at specific details you will probably come across after having worked with S-Plus for a while. If you have just recently started to work with S-Plus, you might want to take a look at what is covered in this section and come back to it later —after having gained some experience such that you can judge what is useful to you.

14. Information Sources on and Around S-(scPlus)

As this book approaches its end, it is time to look at further sources of information and S-Plus code. We will take a look at S-News, the popular E-mail discussion list, the StatLib electronic archive, and some books serving as good further reading.

15. R

In the 1990s, two authors from New Zealand, R. Gentleman and R. Ihaka, wrote a program they called R. The name already suggests that R is somewhat related to S and S-Plus, respectively. The development is described in Ihaka and Gentleman (1996).

16. Bibliography

The print references are given first. Complementary Web pages are provided with the reference. References that exist only online are given in a separate section.
On-line references can become outdated very fast. By the time of printing, a few references might already have changed. If you can’t find information under the given address, you might try to find the new address or further information by using the popular search tools Yahoo! (http://​www.​yahoo.​com/​), Google (http://​www.​google.​com/​), or Altavista (http://​www.​altavista.​com/​).


Additional information