AccessMyLibrary : Search Information that Libraries Trust AccessMyLibrary | News, Research, and Information that Libraries Trust

AccessMyLibrary    Browse    J    Journal of Computational & Graphical Statistics    Emacs speaks statistics: a multiplatform, multipackage development environment for statistical analysis.

Emacs speaks statistics: a multiplatform, multipackage development environment for statistical analysis.

Publication: Journal of Computational & Graphical Statistics

Publication Date: 01-MAR-04

Author: Rossini, A.J. ; Heiberger, Richard M. ; Sparapani, Rodney A. ; Machler, Martin ; Hornik, Kurt
How to access the full article: Free access to all articles is available courtesy of your local library. To access the full article click the "See the full article" button below. You will need your US library barcode or password.

Bookmark this article

Print this article

Link to this article

Email this article

Digg It!

Add to del.icio.us

RSS

COPYRIGHT 2004 American Statistical Association

Computer programming is an important component of statistical research and data analysis. It is a necessary skill for using sophisticated statistical packages and for writing custom scripts and software to perform data analysis using modern statistical methods. Emacs Speaks Statistics (ESS) provides an intelligent and consistent interface between the user and statistics software. ESS interfaces with SAS, S-Plus, R, and other statistics packages under the Unix, Microsoft Windows, and Apple Macintosh operating systems. ESS extends the Emacs text editor to streamline the use and creation of statistical software. ESS understands the syntax for numerous data analysis languages, provides consistent display and editing features across packages, and assists in the interactive or batch execution of statements by statistics packages. We describe in detail the features that ESS provides to increase efficiency.

Key Words: BUGS; Cross-platform user interface; Data analysis; Open source software; Programming; R; S; SAS; S-Plus; Stata; XLispStat.

1. INTRODUCTION

Statistical research activities, particularly data analysis and communication, involve computing. This is exemplified by the idea that many daily statistical activities can be considered to be programming with data (Chambers 1998). The user interface plays a central role in facilitating these tasks by mapping user behaviors into computer instructions. A familiar, coherent, and well-understood set of input behaviors can increase the efficiency of statistical practice. This article introduces Emacs Speaks Statistics (ESS) (Rossini et al. 2002), a software package built upon the Emacs text editor which provides a common interface to a variety of statistical packages on the most common computing platforms.

Statistical package interfaces can usually be placed into one of two categories. The first and older approach is to provide either a command-line or batch interface. It has been claimed that these textual interfaces, which provide extensive control over the data analysis procedures being performed, provide the best interface for auditable research and facilitate reproducible research (Schwab, Karrenbach, and Claerbout 1997). The second approach is to provide a graphical user interface (GUI); this approach either partially of completely replaces the command-line with a combination of toolbars, menus, and dialog boxes for specifying statistical procedures to perform. Data entry, management, and display are usually provided through a spreadsheet. Some GUI-based packages accept scripts as input for regenerating statistical analyses. ESS provides a middle ground by supporting the writing of data analysis scripts and programming code for statistical computing, and it provides tools which can incorporate menus, toolbars, and dialogs to speed up associated programming tasks.

ESS interfaces to statistical packages and provides tools that facilitate both statistical software development and data analysis. It assists with both writing and evaluating data analysis code for many statistical packages. ESS currently supports the S family of languages, including S (Becker, Chambers, and Wilks 1988; Chambers and Hastie 1992; Chambers 1998), S-Plus[R] (Insightful Corp. 2001), and R (Ihaka and Gentleman 1996; R Development Core Team 2002); SAS[R] (SAS Institute Inc. 1999); Stata (StataCorp 2000); XLispStat (Tierney 1990) and its extensions Arc (Cook and Weisberg 1999) and ViSta (Young, Faldowski, and McFarlane 1992); BUGS (MRC Biostatistics Unit 1996-2001); and Omegahat (Temple Lang 2000). ESS can be extended to accommodate most statistical packages which provide either an interactive command-line prompt for inputting instructions or which process batch files for instructions.

We discuss how ESS enhances a statistician's daily activities by presenting its features and showing how it facilitates statistical computing. We then describe the Emacs text editor which provides the underlying platform upon which ESS is built. We conclude with a short history of the development of ESS.

2. ESS AND STATISTICAL PRACTICE

Statistical programming is the writing of data analysis scripts or general computer programs for data analysis and processing. Both forms will be referred to as programs and source code (the textual result) or programming (the activity). Although these programs could be written in a general computer language such as Fortran, C/C++, or Java, it usually makes more sense for the the data analyst to work in specialized scripting languages that support common statistical procedures. The statistical languages (e.g., S-Plus, R, SAS, Stata, and XLispStat) usually do not include the same range of sophisticated tools for writing and debugging computer programs as general purpose computer languages do.

ESS extends the Emacs text editor with a development environment tailored toward the use of statistical programming languages. This single interface has many features that enhance the complementary goals of statistical programming, constructing data analysis scripts, and interactive data analysis. ESS is able to provide a functional and extensible interface which is consistent for common tasks across multiple statistical packages. This is done by adding shortcuts and features to accelerate the editing of files as well as by interacting with the particular statistical packages to provide, for example, control of input/output, assistance with evaluation, and specialized display for viewing, navigating, and editing of help and documentation files.

Some features do not require direct interaction with a statistics package; these include textual script editing features such as syntactic fontification and colorization of scripts, detection of balanced and unbalanced parentheses and braces through highlighting, code indentation for readability, commenting out regions, and indexing of files by function. The more interesting features, such as help file parsing and viewing, object and function name completion, evaluation of scripts, and interactive editing of data and objects, require some interaction with the target statistical package either by controlling interactive behavior or by batch processing.

2.1 EDITING

Source Code Formatting and Display....

Read the full article for free courtesy of your local library.


More Articles from Journal of Computational & Graphical Statistics
Recent publications in JSS.
March 01, 2004

What's on AccessMyLibrary?

32,075,336 articles
in the following categories:

Arts, Business, Consumer News, Culture & Society, Education, Government, Personal Interest, Health, News, Science & Technology


© 2008 Gale, a part of Cengage Learning  | All Rights Reserved | About this Service | About The Gale Group, a part of Cengage Learning
                                            Privacy Policy | Site Map | Content Licensing | Contact Us | Link to us
      Other Gale sites: Books & Authors | Goliath | MovieRetriever.com | WiseTo Social Issues