[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.1 Why should I use ESS?

S is a powerful system for manipulating and analyzing data, but its user interface -- particularly on Unix platforms -- leaves something to be desired. ESS is a package which is designed to make S easier to use.

ESS provides several features which make it easier to interact with the ESS process (i.e. enter commands and view the output). These include:

If you commonly create or modify S functions, you will have found the standard facilities for this (the `fix()' function, for example) severely limiting. Using S's standard features, one can only edit one function at a time, and you can't continue to use S while editing. ESS corrects these problems by introducing the following features:

Finally, ESS provides features for re-submitting commands from saved transcript files, including:


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.2 New features in ESS

Changes/New Features in 5.2.1:

Changes/New Features in 5.2.0:

Changes/New Features in 5.1.24:

Changes/New Features in 5.1.23:

Changes/New Features in 5.1.22:

Changes/New Features in 5.1.21:

Changes/New Features in 5.1.20:

Changes/New Features in 5.1.19:

Changes/New Features in 5.1.18:

Changes/New Features in 5.1.17:

Changes/New Features in 5.1.16:

Changes/New Features in 5.1.15:

Changes/New Features in 5.1.14:

Changes/New Features in 5.1.13:

Changes/New Features in 5.1.12:

Changes/New Features in 5.1.11:

Changes/New Features in 5.1.10:

Changes/New Features in 5.1.9:

Changes/New Features in 5.1.8:

Changes/New Features in 5.1.2:


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.3 Authors of and contributors to ESS

The ESS environment is built on the open-source projects of many contributors, dating back nearly 15 years. Doug Bates and Ed Kademan wrote S-mode in 1989 to edit S and Splus files in GNU Emacs. Frank Ritter and Mike Meyer added features, creating version 2. Meyer and David Smith made further contributions, creating version 3. For version 4, David Smith provided process interaction based on Olin Shivers' comint package.

John Sall wrote GNU Emacs macros for SAS source code around 1990. Tom Cook added more functionality creating SAS-mode which was distributed in 1994. Also in 1994, A.J. Rossini extended S-mode to support XEmacs. Together with extensions written by Martin Maechler, this became version 4.7 and supported S, Splus, and R. In 1995, Rossini extended SAS-mode to work with XEmacs.

In 1997, Rossini merged S-mode and SAS-mode into a single Emacs package for statistical programming; the product of this marriage was called ESS version 5.

ESS version 5 is being developed and currently maintained by


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.4 Getting the latest version of ESS

The latest version of ESS is always available on the web at: ESS web page or StatLib

There no longer is an anonymous CVS repository for ESS, due to lack of interest, little demand, and problems with security.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1.5 How to read this manual

If you need to install ESS, read Installing ESS on your system for details on what needs to be done before proceeding to the next chapter.

In this manual we use the standard notation for describing the keystrokes used to invoke certain commands. C-<chr> means hold the CONTROL key while typing the character <chr>. M-<chr> means hold the META or EDIT or ALT key down while typing <chr>. If there is no META, EDIT or ALT key, instead press and release the ESC key and then type <chr>.

All ESS commands can be invoked by typing M-x command. Most of the useful commands are bound to keystrokes for ease of use. Also, the most popular commands are also available through the emacs menubar, and finally, if available, a small subset are provided on the toolbar. Where possible, keybindings are similar to other modes in emacs to strive for a consistent user interface within emacs, regardless of the details of which programming language is being edited, or process being run.

Some commands, such as M-x R can accept an optional `prefix' argument. To specify the prefix argument, you would type C-u before giving the command. e.g. If you type C-u M-x R, you will be asked for command line options that you wish to invoke the R process with.

Emacs is often referred to as a `self-documenting' text editor. This applies to ESS in two ways. First, limited documentation about each ESS command can be obtained by typing C-h f. For example, if you type C-h f ess-eval-region, documentation for that command will appear in a separate *Help* buffer. Second, a complete list of keybindings that are available in each ESS mode and brief description of that mode is available by typing C-h m within an ESS buffer.

Emacs is a versatile editor written in both C and lisp; ESS is written in the Emacs lisp dialect (termed `elisp') and thus benefits from the flexible nature of lisp. In particular, many aspects of ESS behaviour can be changed by suitable customization of lisp variables. This manual mentions some of the most frequent variables. A full list of them however is available by using the Custom facility within emacs. (Type M-x customize-group RET ess RET to get started.) Customizing ESS provides details of common user variables you can change to customize ESS to your taste, but it is recommended that you defer this section until you are more familiar with ESS.


[ << ] [ >> ]           [Top] [Contents] [Index] [ ? ]

This document was generated by Rodney Sparapani on June, 30 2004 using texi2html 1.70.