spread We have designed and constructed an interactive spreadsheet interface to S/Splus that maintains the complete power and generality of the S language. At user level, the interface behaves like the popular spreadsheet programs available for personal computers: one or more S data objects (matrices or three-way arrays) are displayed on the screen. The user graphically (with mouse or cursor motion) identifies a cell for review, and possible updating, of its contents. Macros containing arbitrary S expressions can be associated with the entire spread.frame or one of its cells. The spreadsheet is designed in a modular fashion with device-specific methods for the display and updating of spreadsheet objects. We include methods for two devices: the generic S graphics device and a character based device using the emacs 19 environment. Richard M. Heiberger (rmh@astro.ocis.temple.edu) Magnus Mengelbier (magnus@astro.ocis.temple.edu) The interface is described in \item Heiberger, Richard M., and Magnus Mengelbier (1995, to appear) ``Design of a Spreadsheet Interface for S,'' {\it Proceedings of the American Statistical Association}, Section on Statistical Graphics. This is placeholder announcement. The files will be available on statlib after one more level of testing. Files in this distribution: README Abstract, file listing, and setup instructions. sprd3d.how Instructions for spread.frame users. sprd-emc.s S for emacs driver sprd-grd.s S for class="grade" sprd-spr.s S for class="spread" This is the primary set of functions. sprd-txt.s S for graphics device driver based on text() command. sprd-int.el emacs lisp file Load this file into emacs 19 each time you start a spread.frame session. gradexmp.s S example Setup Instructions The emacs spreadsheet interface for S consists of four S files "sprd-*.s" and one emacs lisp file "sprd-int.el". 1. Create a new directory to store the four S files "sprd-*.s" and one emacs lisp file "sprd-int.el". I use "/disk5/rmh/sprd3d/". You might wish to place it under the directory where you store other S/Splus libraries. 2. Make a new .Data, "/disk5/rmh/sprd3d/.Data", start S/Splus, and source the four sprd-*.s files: > source("sprd-emc.s") > source("sprd-grd.s") > source("sprd-spr.s") > source("sprd-txt.s") > q() 3. The directory /disk5/rmh/sprd3d/ should now be treated as a library directory and should not be further touched. All further work using the spread.frames should be done in a different directory. 4. See the file sprd3d.how for user instructions. You may look at the file "gradexmp.s" for an example.