These release notes are current as of November 21, 2003. For updates to the release notes that are made after this date as well as other useful information, please see the S-PLUS Support Web site, located at
This file contains the following information:
Supported Platforms and System Requirements
Contact Information for Feedback
S-PLUS 6.2 improves upon S-PLUS 6.1 in three main areas: native drivers, verbose logging, and XML generation and reporting. There are also a number of enhancements to existing functions, and improvements to quality in several areas.
Technical papers on native drivers, verbose logging, XML generation, and XML reporting are available through the Technical Papers submenu of the Help menu in S-PLUS for Windows.
Both the S-PLUS Trial and Network editions contain the S+ArrayAnalyzer, S+FinMetrics, S+SpatialStats, and S+Wavelets modules.
The S-PLUS Trial edition is a 30-day evaluation version. For the S-PLUS Network edition, a license key (obtained from Insightful) is required to use each module.
S-PLUS 6.2 includes a variety of new features that extend S-PLUS capabilities. Major additions include:
Native drivers
Verbose logging
XML generation and reporting
In addition, existing functionality has been enhanced in the following areas:
DOX library
Updated user-contributed libraries
Graphlet enhancements
Read and write SAS 9 files
Preview pane in Import From Database and Import From File dialogs
Clear All in commands window
Updated winjava library to use JDK 1.4
Connect/C++ support for Visual C++ .NET
Improved ActiveX control support
User-created help enhancements
New installer
This section briefly describes these new features and enhancements.
S-PLUS now includes access to the following databases via direct database drivers:
Microsoft SQL Server
IBM DB2
Sybase
Oracle
This functionality is in addition to ODBC access on Windows.
Exporting to databases now allows existing tables to be either replaced or appended to. In addition, you can use the Import From Database and Export to Database dialogs to access these databases as data sources, just as you accessed ODBC data sources.
Direct database access is accomplished by using driver components which must be separately installed on the system that is running S-PLUS. These driver components are provided by the database vendor, and usually consist of components that can be called directly by S-PLUS to send and receive database information in the native format that the database supports. In many cases, direct database drivers provide faster connectivity and data transfer than ODBC because there are fewer layers of data translation and interpretation of the request than with ODBC.
In addition, you can maintain a connection to a database while executing a series of SQL statements, which allows the creation of session-based temporary tables.
This functionality is described in more detail in the Native Drivers technical paper available through the Help menu.
Batch processing support to run S-PLUS scripts non-interactively has been a key feature of S-PLUS for a number of releases. Often, this is performed to execute S-PLUS scripts as part of a production process.
For example, in the medical and pharmaceutical industries, it is vital that data management and statistical tasks be validated and documented. All steps involved in experimentation and validation must be documented and preserved in order to demonstrate to oversight bodies that the results are complete, accurate, valid, and reproducible. In addition to source files and generated output, log files are typically retained for these purposes, and they include the following:
The log file has a structured format with the first seven columns reserved for line numbers and a line description tag. A colon in the eighth column separates these tags from the rest of the text; lines without colons in the eighth column are continuations of the previous tagged line. This makes parsing of the log file by Perl or other languages easy.
There is a header with information about the user, the machine, the input and output files.
If a file gets sourced in by the input file, it is logged (e.g., S.init is sourced in) at the start of every S-PLUS session.
Each database that gets attached is logged.
All lines from the input file appear in the log file, identified by its line number.
Each complete input expression is timed.
A summary is logged when data is read in. The summary includes the disk location of the file, the resulting data frame size, the types of columns in the data frame, and missing value counts. Data frame reading and writing are also logged.
Errors are logged, but processing of the script continues.
On completion of the script, a summary of the entire processing is written.
Production batch processing can be done through the GUI (using the BATCH dialog), a Windows Command Prompt (using Splus SBATCH), or an S-PLUS command line (entering commands in the Target field). Consult the Verbose Logging technical paper for more information by selecting Help > Technical Papers > Verbose Logging.
Extensible Markup Language (XML) provides a powerful mechanism for both storing and exchanging information between applications. S-PLUS includes two libraries of functions for working with XML:
SPXML library (Insightful) - Introduces a rich report generation system for creating custom reports in a wide array of document formats. It uses the Extensible Stylesheet Language (XSL) to create HTML, PDF, Postscript, or RTF reports from an XML description of an S-PLUS object.
Included in the SPXML library are functions to read and write XML using S-PLUS-specific XML tags and then convert between these tags and the tags used by other applications. They allow S-PLUS objects to be created from any XML file, with their creation specified using XSL.
XML library (Bell Laboratories) - introduces a set of S-PLUS classes representing XML objects, such as XMLNode and XMLComment. A Document Object Model (DOM) parser is used to create an S-PLUS object from the information in an XML file. This object can be traversed using S-PLUS subscripting, manipulated using S-PLUS functions, and written back to a file if desired.
This functionality is described in more detail in the XML Generation and XML Reporting technical papers available through the Help menu.
S-PLUS 6.2 now includes the DOX library for design of experiments. This was previously available as a separate S-PLUS module.
Information on the functionality of this library is available through the help system. An online manual in PDF format is located at SHOME/library/DOX.
The user-contributed libraries class, design, hmisc, MASS, nnet, and spatial have been updated.
S+ library(missing): plot.missmodel and daAcfPlot now allow users to specify which variables to plot.
There are several new features in S-PLUS Graphlets, specifically with respect to the java.identify function:
Polygonal active regions
Multiple active regions that can be treated as a single region
Nested menus
Selectable regions
In addition, a new spjgraph.jar file is included, containing updated java code. This should be used for viewing any Graphlets.
Out-of-memory problems when zooming the Graphlet image too much has been fixed, as well as passing NAs to java.identify with the winspj library. For more information, see the java.identify help file.
Note that all of these enhancements are implemented when viewing Graphlets in a Web browser or viewing the java.graph window while S-PLUS is running.
SAS 9 files can be imported and exported.
The Import Data dialogs have a preview pane displaying the first few rows of the file.
The Edit menu contains a Clear All menu item that will clear the contents of the Commands window.
The function guiSetRedraw now prevents redraws until the user wants to refresh the Graph Sheet.
The Java Runtime Environment has been updated to version 1.4 for the winjava library.
The Connect/C++ headers and source code included with S-PLUS have been updated to work with the new Microsoft Visual C++ .NET 2003 compiler. All of the Connect/C++ examples have also been updated. You can now successfully compile and link all the C++ examples using this new compiler.
In addition, you can now successfully build debug or release versions of the Connect/C++ library with Visual Studio .NET 2003. All of the Visual Studio .NET 2003 project files are included in the SHOME/sconnect directory. Simply load the project file and build.
For more information about building the Connect/C++ examples with Visual Studio .NET 2003 and building the Connect/C++ library, see readme.txt included in the SHOME/samples directory of your S-PLUS installation.
SPLUSTree is a new example ActiveX dialog control for displaying hierarchical lists from S-PLUS in a Windows tree control.
This example shows you how to create an ActiveX control that displays and allows editing (rearranging, adding, deleting, etc) of elements of a hierarchical list in S-PLUS. The example C++ source code for this control uses Connect/C++ (the C++ class library for using the S engine) to read S list objects into a tree structure that is represented in the control, and to write them back to the working S database.
The control is written using the MFC (Microsoft Foundation Classes) library, and is statically linked to this library.
Automatic registration of ActiveX controls has been improved in the guiCreate("Property") command used to create an instance of an ActiveX control in an S-PLUS dialog. Previously, using the subcommand ControlServerPathName command to indicate the pathname to the ActiveX control would result in improper control registration, even though the pathname was valid. This problem has been corrected.
A new S-PLUS function has been added to allow you to get a reference to an ActiveX control in an S-PLUS dialog given the dialog ID. The function get.ocx.object() allows you to do this. You then use the reference returned by this function to call methods and get or set properties using the functions call.ole.method(), get.ole.property() and set.ole.property(). When you are done with the reference, you must call release.ole.object() to release it.
A new dialog event has been added that can be trapped in your dialog callback function. The event "cbAfterOCXInitialize" is now called after ActiveX controls in your S-PLUS dialogs have been initialized. You can execute S-PLUS code when this event occurs to execute methods and properties of your ActiveX controls during the initialization of the dialog.
For more information about using ActiveX controls in S-PLUS dialogs, see the chapter Extending the User Interface in the S-Plus 6 for Windows Programmers Guide.
Building your own HTML Help files on Windows now supports linking to S-PLUS Language Reference help topics.
Located in the SHOME/help/BuildHelpFiles directory is a text file called stopicList.out. This file is optionally specified in the script build_helpchm.cyg used to build your HTML Help files (see variable SEARCH_STOPIC_LIST and STOPIC_LIST_SPLUS). When the variable in build_helpchm.cyg called SEARCH_STOPIC_LIST is set to T, this list of S-PLUS Language Reference topics in stopicList.out is searched to automatically resolve links you may have to these functions in your chapter help files.
The new S-PLUS installation program is now fully compliant with Microsofts Windows Installer technology. This means you can use features of the Windows Installer to customize how you install and deploy the S-PLUS installation.
Further, the new S-PLUS installation supports improved automation via our own automate.ini script file. You now have more control over target paths, application startup settings, network license management settings (for the license managed editions), and whether various install dialogs appear or not during the installation.
For more information on how to automate the S-PLUS install or how to run a quiet installation, see the comments in the script file called automate_sample.ini, located in the edition-specific folder on your installation CD.
The cummax() method returns a vector of non-decreasing (resp. non-increasing) numbers which are the cumulative maxima (resp. minima) of the values in x.
The file.realpath() function returns the absolute path name for a file.
substituteString() replaces parts of a string matching a regular expression.
Previously available from the Commands window, import.data.mim() now also works from the command line sqpe.exe.
To return the name of the script file that was double-clicked to start S-PLUS, new functionality was added:
guiGetPropertyValue("Script", "Script1", PropName = "DocumentPathName")
A Quit() method of the Application object in the GUI has been added so you can close down S-PLUS via automation if any documents were created during the session.
The control parameters (e.g., convergence threshold and maximum iteration count) used in GLM and GAM have been tightened. These algorithms may now perform more iterations before declaring convergence, but the extra computation time allows for more reliable parameter estimates in some situations (particularly when highly-correlated covariates are present).
In this release, we have made a number of improvements to the quality of S-PLUS to make it a more reliable engine, especially for production purposes. Fixes were made in several areas:
Stability We have improved the overall stability of S-PLUS in several ways. Many reference counting errors and other internal engine errors have been fixed. Instabilities caused by working with large numbers of variables in statistics functions have also been addressed.
Statistics We improved many of the statistics functions to eliminate failures and correctly support options.
Accuracy We improved the accuracy of many of the probability distribution functions, especially for extreme parameter values. Some older single-precision functions have also been converted to double-precision.
Language Corrections were made to a number of core language functions, especially to deal with "corner cases" in a consistent fashion.
Data Access We improved the reliability of S-PLUS's data import and export functionality, to eliminate failures or data corruption which could occur with nonstandard file formats or import specifications.
GUI We have resolved a number of issues where dialogs or other elements of the GUI did not work as intended. We have also eliminated several crashes that could occur when working with the graphical user interface.
Graphics Errors in GUI graphics, command-line graphics (particularly for Trellis plots and timeDate charts), and Graphlets have been addressed.
Globalization We have addressed a few issues that arose when working with non-English characters in data, objects, and file names.
Performance The speed of some functions has been improved, and several memory leaks have been eliminated.
A complete list of fixed bugs in S-PLUS 6.2 is available.
Network Installation: On p.111 of the S-PLUS 6 Network Installation Guide, the Target field at the bottom of p.111 does not create the log file on your client. To correct this, define ELMDEBUG as an environment variable by going to Control Panel > System, selecting the Advanced tab, clicking Environment Variables, and defining ELMDEBUG according to the syntax ELMDEBUG=<level>,<path>. For example, enter ELMDEBUG for the Variable Name and 9,C:\clientlog.txt for the Variable Value.
Installing on Windows NT 4 SP6: Internet Explorer 5.x or higher is required to be installed on Windows NT 4 SP6 prior to installing S-PLUS on the system. This is because SHLWAPI.DLL is only distributed with Internet Explorer 5.x which must be installed by the user.
MacAfee VirusScan slowdown: Virus scanning software like MacAfee can easily slow down S-PLUS, whether S-PLUS is run directly or from an S-PLUS node within Insightful Miner. With System Scan enabled (the default), each time S-PLUS reads or writes to a file in its .Data directory, MacAfee scans that file for viruses. How much S-PLUS is slowed depends on the number and types of processes S-PLUS is using at that time.
plotTimeDate enhancement causes non-backward compatibility: To enhance performance when plotting timeDate vs. numeric, the default of the "nobreaks" argument in the plotTimeDate() call to axis.time() was changed from F to T. This requires that you spell out "nobreaks" entirely if you wish to override the default. Note that specifying x.axis.args=list(nobreaks=F) in a call to plotTimeDate() will often produce "ugly" plots.
S-PLUS 6.2 for Windows is supported on Windows NT 4.0 (Service Pack 6), Windows 2000, Windows XP Professional, and Windows 2003 Server. S-PLUS 6.2 is not supported for Windows NT 3.51, Windows 95, Windows 98, Windows ME, or Windows XP Home.
Note: Future releases of S-PLUS will not be supported on the Windows NT platform.
The minimum recommended system configuration is Pentium II/233 with 96MB of RAM. You must have at least 275MB of free disk space for the typical installation (and, if not installing on drive C:\, an additional 75MB free disk space on drive C:\ to unpack the distribution).
Do NOT install this release over any existing version of S-PLUS. Instead, designate a clean installation directory for S-PLUS 6.2, and proceed with the Setup program as described below.
The instructions in this section apply to all standalone versions of S-PLUS 6.2.
You must have full Administrator privileges to install S-PLUS. This is a requirement because the installation program must write to both the C:\WINNT\System folder and the registry, which is possible only if you have the correct privileges.
The S-PLUS Setup program offers a variety of options:
|
Complete |
Installs all of the S-PLUS files in the selected directory, including the release notes (this document), program files, online help, sample files, development support files, and supported libraries. Recommended for most users. |
|
Minimal
|
Installs minimum files required by S-PLUS in the target directory you choose, including the release notes (this document) and the program files. |
|
Custom
|
Installs only selected parts of S-PLUS. Choose whether to install the release notes (this document), program files, online help, sample files, development support files, and supported libraries. Any files you choose not to install can be installed later by selecting the icon for Add/Remove Programs in the Control Panel. See below for more details. Recommended for advanced users. |
Insert the CD into the CD-ROM drive.
If your system has CD-ROM AutoPlay enabled, the S-PLUS Setup program
starts automatically. Otherwise, click the Start
button, then Run, then type x:\setup
(where x is the
drive letter of the CD-ROM). Alternatively, double-click the setup.exe
file in the CD-ROM drive of Windows Explorer.
The S-PLUS Setup window appears.
Follow the Setup instructions on the screen. For most installations, the default settings are recommended. It is recommended that you close or disable other applications while installing S-PLUS, in particular virus checkers and screen savers.
During installation, you are prompted for your S-PLUS serial number.
To add or remove parts of S-PLUS from your system, select the Add/Remove Programs icon in the Control Panel. Choose S-PLUS from the list of installed programs, and then click the Add/Remove button. Once in the S-PLUS Setup program, select the Modify option. Use the tree of components provided to add (select) or remove (deselect) parts of S-PLUS.
To uninstall S-PLUS, select the Add/Remove Programs icon in the Control Panel. Choose S-PLUS from the list of installed programs, and then click the Add/Remove button. Once in the S-PLUS Setup program, select the Remove option.
The S-PLUS program group contains the following options:
BATCH starts a non-interactive session of S-PLUS.
Chapters Help opens an HTML document that describes the chapter mechanism.
Check for Updates checks Insightful Corporation's Web site for patches and updates.
ConnectC++ Class Library Help opens an HTML document that describes the interface available between S-PLUS and C++.
Fixed bugs opens the fixed bug list for this release.
Language Reference opens the online help for the S-PLUS engine functions.
Migration Wizard launches a wizard that guides you through converting projects from S-PLUS 2000 or earlier to a form compatible with S-PLUS 6.2.
Register Program Online allows you to register your copy of S-PLUS online.
Release Notes displays this HTML page with useful information about S-PLUS.
S-PLUS Console starts the command-line application only.
S-PLUS GUI starts the full GUI application.
Using S-PLUS opens the online help for the S-PLUS GUI.
After installing S-PLUS, the S-PLUS program group appears as an option under Programs when you click the Start button.
From the Start menu, choose Programs.
Choose the S-PLUS 6.2 Professional program group.
Choose S-PLUS GUI.
From the Start menu, choose Programs.
Choose the S-PLUS 6.2 Professional program group.
Choose S-PLUS Console.
S-PLUS offers an online HTML Help system to make learning and using
S-PLUS easier. Under the Help
menu, you will find help on using the S-PLUS graphical user
interface. In addition, an extensive Language Reference provides
detailed help on each function in the S-PLUS language. You can also
access the Language Reference through the Commands window by typing help()
at the S-PLUS prompt. Context-sensitive help is available by clicking
the Help buttons in dialogs
or the context-sensitive Help
button on toolbars, as well as by pressing the F1 key while S-PLUS is active.
In S-PLUS 6.x, the help files for GUI and command line functions are
completely separate. To access all of the GUI help files, select Help
> Available Help > S-PLUS Help; to access all of the
command-line help files, select Help
> Available Help > Language Reference. If you ask for
help primarily by clicking on Help
buttons in dialogs, you'll want to access S-PLUS
Help on a regular basis for its Contents,
Index, and Search
tabs. Likewise, if you ask for help primarily through the help
or ?
functions, you'll want to access the Language
Reference on a regular basis for the Contents,
Index, and Search
tabs available there.
S-PLUS 6.2 is built with Microsoft VC++6.0 and Compaq/DEC FORTRAN 6.0. All samples shipped with S-PLUS 6.2 have been tested with VC++6.0 and Compaq/DEC FORTRAN 6.0. If you use Microsoft VC++6.0 and Compaq/DEC Fortran 6.0 in your projects that link to S-PLUS, use the import libraries in SHOME\lib. For example, sqpe.lib is the import library for sqpe.dll containing the core S-PLUS interpreter, and sconnect.lib is the import library for sconnect.dll containing the CONNECT/C++ class library.
Previous builds of S-PLUS 6 for Win32 used Visual Studio 6.0 Service Pack 3 to build the engine, GUI, and all samples and utilities shipped with the program. To fix some issues in MFC (the Microsoft Foundation Classes) that S-PLUS is based on, we updated the compiler to Service Pack 5. If you have built any C/C++ or Fortran applications using CONNECT/C++ or have modified one of the sample applications for your own purposes, you should install the Visual Studio 6.0 Service Pack 5 update, and recompile and relink these applications to ensure there are no runtime problems related to changes that may have occurred in Microsoft shared *.dll files.
File input and output is fully supported in C code called from
S-PLUS, but input and output directed to the standard streams STDIN,
STDOUT,
and STDERR
requires special handling. This special handling is provided by the
header file newredef.h,
which is included in S.h and sconnect.h.
If you need to disable this behavior, define NO_NEWIO
before S.h or sconnect.h.
For example:
#define NO_NEWIO
#include "S.h"
Please feel free to contact us with questions or feedback about this release. Send all technical support queries and general comments to one of the locations listed below.
Contact Technical Support at Insightful Corporation:
Telephone: 206.283.8802 or 1.800.569.0123, ext. 235
Monday-Friday, 6:00 a.m. PST (9:00 a.m. EST) to 5:00 p.m. PST (8:00 p.m. EST)
Fax: 206.283.8691
E-mail: support@insightful.com
Web: www.insightful.com/support
Contact the European Headquarters of Insightful Corporation:
Christoph Merian-Ring 11, 4153 Reinach, Switzerland
Telephone: +41 61 717 9340
Fax: +41 61 717 9341
E-mail: info.ch@insightful.com
We are very interested in receiving information on possible bugs and usability enhancements from all users. Bug reports can be sent to the following e-mail address:
General information about this release of S-PLUS is available at:
The list of S-PLUS Frequently Asked Questions is available from: