S-PLUS 8.0.4 for Windows®

Important Note: S-PLUS users at UVA must first register in the ITC licensing database in order to download the S-PLUS product and to get the necessary information for licensing S-PLUS software.

Release Notes for S‑PLUS® 8.0.4 for Windows® (May 2007)

Supported Platforms and System Requirements
What's New in S‑PLUS 8.0.4
Improvements in S‑PLUS 8.0.4
Known Issues in S‑PLUS 8.0.4
Module Support
Installing S‑PLUS
Running S‑PLUS
Getting Help in S‑PLUS
Compilers/Linkers
Contact Information for Feedback
Appendix: New Functions and Data Sets

Supported Platforms and System Requirements

The S‑PLUS 8.0.4 release for Windows® is supported on the following platforms:

Note  Eclipse 3.2.2, the version of Eclipse on which the S‑PLUS Eclipse Workbench is built, is not fully supported on Windows Vista.

The minimum recommended system configuration is Pentium III with 512MB of RAM. You must have at least 500MB of free disk space for the typical installation (and, if not installing on Drive C:\, an additional 50MB free disk space on Drive C:\ is required for the installation process). Note that the disk space includes only S-PLUS and no modules.

Do NOT install this release over any existing version of S‑PLUS. Instead, designate a clean installation directory for S‑PLUS 8.0.4, and proceed with the Setup program, as described in INSTALL.TXT (located at the top level of your CD).

Editions

There is no separate Enterprise Developer or Professional edition in S‑PLUS 8.0.4. This release includes the Big Data library section and the Eclipse Workbench (previously available in the S‑PLUS 7.0 Enterprise Developer edition only).

Java Runtime Environment (JRE)

The Java runtime environment (JRE) version 1.5.0_11 is included in S‑PLUS 8.0.4. Your operating system must support JRE 1.5.0_11 in order to run the Java-enabled version of S‑PLUS. Note that the JRE provided by S‑PLUS is installed as part of the S‑PLUS distribution, and under normal circumstances, it is used only by S‑PLUS. If you have a different version of the JRE on your system, the JRE used by S‑PLUS should not interfere with your other JRE applications, which will continue to use the version you have previously installed.

If you are developing new code, you will need a Java 2 development environment such as the Java 2 JDK. For S‑PLUS, the desired JDK is version 1.5. For Windows, this tool is freely available from Sun®. (Licensing restrictions prevent Insightful from redistributing the Java 2 JDK with S‑PLUS.)

For more information about version 1.5 of the JRE and the JDK, see the Sun site:

http://java.sun.com/javase/downloads/index_jdk5.jsp

Top of page

What's New in S‑PLUS 8.0.4

S‑PLUS 8.0.4 is a major release of the S‑PLUS product family, with the following new features:

Support for Vista changes working directory location

Adding support for Windows Vista requires changing the default location of the working directory (that is, S_PROJ). Previously, by default, a Windows user could expect the working directory to be set to, for example, C:\Program Files\Insightful\splus70\users\username. Now, by default, the working directory for Windows platforms is as follows:

S‑PLUS packages

S‑PLUS packages is a system for downloading, installing, and creating a user-defined library of functions, help files, and data for distribution. Insightful hosts a Web site called CSAN (Comprehensive S Archival Network) at

      csan.insightful.com

that serves as the central repository for S‑PLUS users to download S‑PLUS packages. Packages are available for download as Windows binaries and Solaris®/LINUX® source. For more information, see the Guide to Packages, a pdf available from the Help menu in the S‑PLUS GUI or the Workbench, or in your SHOME/help directory (spluspackages.pdf).

Note: required installation of the package utilities
Before you can use the S‑PLUS package system, you must download and install the package utilities library. This package contains GPL-licensed code from R and is not included on the S‑PLUS CD. You can download and install the package by running the S‑PLUS function install.pkgutils() from an S‑PLUS Commands window. You must be connected to the Internet when running the function.

Debugger in S‑PLUS Workbench

The interactive debugger provides an environment for writing and developing functions in S‑PLUS. This application has modern debugging tools like step debugging and breakpoints. For more information on how to use the S‑PLUS Workbench debugger, see the S‑PLUS Workbench User's Guide, a pdf available from the Help menu in the S‑PLUS Workbench, or in your SHOME/help directory (workbench.pdf).

New Graphics Enhancements

S‑PLUS 8.0.4 includes new command-line graphics functionality. The new features include support for named colors (for example, col="red"), alternative color specification models, color palettes, and vectorized parameters for drawing points, lines, and text. The graphics enhancements support all devices (including transparency on java.graph and pdf.graph) except print. For more information, see the new book Guide to Graphics, a pdf available from the Help menu in the S-PLUS GUI or Workbench, or in your SHOME/help directory (graphics.pdf).

Element-Specific Arguments Add Graph Flexibility
In previous versions of S‑PLUS, the col, font, and cex arguments in par() controlled plot elements in a generalized way. The color, font, and character size of a plot's title, subtitle, axis labels, and tick mark labels could not be set independently. New parameters have been implemented to set these display characteristics at a more granular plot element level:

If you specify display characteristics using the col, font, and cex arguments, they apply only to the plot's data representation.

If you do not specify any of these arguments, S‑PLUS uses the default values. See the par() help file for more information.

Color Chooser

You can now specify a custom color for a graphic object's line or fill using the custom color chooser, available from the object type's dialog. The custom color chooser uses HSL and RGB values to set the object's colors.

New Objects in S‑PLUS

S‑PLUS 8.0.4 introduces many new objects and data sets. See the Appendix in this document for a detailed list.

Deprecation policy

S‑PLUS 8.0.4 now implements a deprecation policy to improve the S‑PLUS product line by removing functions, function arguments, and terms that no longer serve a useful purpose or have been superseded by others. The deprecation policy divides the functions, function arguments, and terms into four states: good standing, deprecated, defunct, and discontinued.

Top of page

Improvements in S‑PLUS 8.0.4

For a list of bugs fixed in this release, see the file FIXEDBUG.TXT in the help directory of your installation.

For a list of issues you might encounter as a result of improvements to S‑PLUS, see the section Backwards Compatibility Considerations in S‑PLUS 8.0.4..

Missing columns now preserved

Prior to S‑PLUS version 7.0.6, if you imported data containing an empty column, on import, S‑PLUS would remove that column and replace it with the column immediately to its right. (For example, S‑PLUS would remove empty column C2 and populate that column with the contents of column C3.) If you have implemented custom code to work around this pre-existing issue, you could encounter problems importing data in S‑PLUS 8.

Default factor contrasts changed from "helmert" to "treatment"

Factor contrasts changed from contr.helmert to contr.treatment. To restore the old value, set:
  options(contrasts=c(factor="contr.helmert", ordered="contr.poly"))

Text and symbols sizing in java.graph

The java.graph window and Graphlets® now allow text and symbols to grow without limit by setting cex= to higher values. This also means that text and symbols will grow when zooming a java.graph window or Graphlet, so zooming into a clump of points does not make their distribution clearer.

The default value for the n argument in readLines has changed

The default for the n argument of readLines has changed from 1 to -1 (to read all lines, not just the first line).

optim() function added to core S‑PLUS

The optimization function optim has moved from Venables and Ripley's MASS library (with Brian Ripley's permission) to core S‑PLUS. This is a general-purpose optimization based on Nelder-Mead, quasi-Newton, and conjugate-gradient algorithms, and includes an option for box-constrained optimization. See the help file for optim for more information.

regexpr() uses a new regular expression matching algorithm and accepts "extended regular expressions."

The functions regexpr, substituteString, grep, regMatchPos, and the new functions sub, gsub, and strsplit use a newer regular expression matching code. The default is to use "extended regular expressions" (not "basic" or "obsolete" regular expressions).

Default value for var.equal changed from TRUE to FALSE

The default value for var.equal in the two-sample t-test was changed from TRUE to FALSE. This change was made in the function t.test, and in the Windows and Java GUI dialogs for two-sample comparisons.

Default value for the correlation argument in summary.lm changed from TRUE to FALSE

The default value for the correlation argument in summary.lm (and all summary functions with an lm object) has been set to FALSE.

Importing value labels for string variables

When importing from SPSS, S‑PLUS now imports value labels for string variables. Previously, S‑PLUS imported value labels for numeric variables only.

SPXML library: New arguments for parseXMLPathFile and parseXMLPathString support parsing based on white space

New arguments were added to parseXMLPathFile and parseXMLPathString to support parsing data. For example, you can now retrieve and parse <x>a b c</x> as individual values, "a" "b" "c", rather than as "a b c".

Automatically loading Java when it is needed

Previously, to load Java, you had to load it explicitly by calling library(winjava). Now, if a Java-dependent function such as .JavaMethod, .JavaField, or java.graph is called when the JVM is not running, it automatically loads Java, thereby saving system resources until you need to use them.

Modifying Java runtime options to increase memory heap

Major elements of S‑PLUS require using the Java Virtual Machine (JVM). By default, the memory heap size is now set to 400mb. If you see a java.lang.OutOfMemoryError, you can now increase the limit more easily.

On Windows, increase the JVM memory heap size by setting the JAVA_OPTIONS environmental variable to 600MB (for example) by executing the following S‑PLUS expressions:

      setenv("JAVA_OPTIONS", "-Xmx600m");library(winjava)

NOTE  You must set the JAVA_OPTIONS environment variable before the JVM is started; setting it afterward has no affect. For more information about setting other JVM options, see the Sun documentation.

Exceptions to the above changes include when you are running the S‑PLUS Workbench and when you are running S‑PLUS commands on a remote application server. For more information about changing the JVM memory heap size in the Workbench, see the S‑PLUS Workbench documentation. To increase the memory heap size when you are running commands on a remote server, set it in the Solaris or Linux shell initialization file (such as the .cshrc file, if you use csh.)

USE.NAMES=T added to sapply()

This addition makes sapply() similar to R functionality with the addition of this argument.

sub function name changed to subscript2d

To avoid a name conflict with R's sub function (substituteString) the S‑PLUS sub function (which does subscripting) has been renamed to subscript2d.

Java graph windows embedded in the S‑PLUS Workbench

By default, Java graph windows are subwindows embedded in the S‑PLUS Workbench window, instead of separate windows. To change this setting, on the Workbench menu, click Window > Preferences, and in the Preferences dialog, select the S‑PLUS page. Clear the option Integrate Java Graphs in the S‑PLUS Workbench.

Columns containing NA and Excel's #N/A are handled differently

Columns containing NA are imported as character (instead of numeric), but columns containing Excel's version of NA (#N/A) are imported as numeric.

Converting from list to logical or numeric for empty lists

Previously, conversions of empty lists to logical and numeric objects would give an error. Conversions are now allowed for as.logical(list()), as.numeric(list()), as.integer(list()), and as.complex(list()).

Backwards Compatibility Considerations in S‑PLUS 8.0.4

Certain improvements to S‑PLUS 8.0.4 might result in existing scripts not working as expected. This is especially true for workarounds for pre-existing issues, or for the new graphics enhancements. Some issues you might encounter include the following.

The par("col") value is now a character string representing an RGB value.  Previously, par("col") was an integer. If you have code that did numeric operations on the par("col") value (for example, col=par("col")+1), the code now fails. Note that you can still set col to a number (for example, par(col=3)).

Changes to cex, font, and col  If you specify display characteristics using the col, font, and cex arguments, they apply only to the plot's data representation. See the section Element-Specific Arguments Add Graph Flexibility for more information.

Setting color maps can produce unexpected results.  Device-specific colormap settings and manipulations apply only when use.device.palette(T) (or when use.legacy.graphics(T) because it sets use.device.palette(T)). Because of this issue, by default, setting Color Schemes from the Options menu does not affect command-line graphics. See the help topic for use.device.palette() for more information.

Big Data library section no longer loaded by default   The S‑PLUS 7 Enterprise Developer edition included the Big Data library section, and this library section was loaded by default. In S‑PLUS 8.0.4, it is no longer loaded automatically. To load it at startup, add library(bigdata) to your SHOME/local/S.init. Note that SHOME/S.init should not be used. Instructions for editing this S.init file are in SHOME/local/README.

Graphics functions no longer accept list values.  Previously, the graphics system accepted single-element lists as arguments for many functions. For example, the labels argument to the axis function could be a list, such as the following:
   axis(side=3, at=c(2,6), labels=list(c("a","b")))

The new graphics system no longer supports this behavior, and the above example causes an error. If your existing code breaks because of this change, call the unlist function to transform the list value.

Workarounds for importing missing columns could cause problems.  If you have implemented custom code to work around the pre-existing issue described in the section Missing Columns now preserved, you could encounter problems importing data in S‑PLUS 8.0.4.

Changes to substituteString's replacement argument.  Treatment of backslashes (\\) in substituteString's replacement argument in S‑PLUS 8 has changed, so it is no longer compatible with previous versions of S‑PLUS. This change accommodates R's implementation of string replacement. See the help for substituteString for more information.

Workbench: S‑PLUS Console deprecated.  Because of implementation changes in the view, the S‑PLUS Console view available in previous releases is being deprecated. If you use a workspace created prior to this release, you will see a label indicating that the Console view is deprecated (S‑PLUS Console (deprecated)); however, the new view is available to you.

To change to the new Console view permanently:

  1. Reset the perspective using the Window > Reset Perspective command; or
  2. Delete the following file from your workspace directory:
    <WORKSPACE>/.metadata/.plugins/org.eclipse.ui.workbench/workbench.xml.

The deprecated S‑PLUS Console view will still work as expected in this release, and its functionality is the same as the new Console view; however, it will follow the deprecation policy described above.

Top of page

Known Issues in S‑PLUS 8.0.4

Native database drivers supplied with S‑PLUS 8.0.4 do not work with the SQL Server 2005 client libraries.  Attempting to connect results in the error "Cannot load library STDBSQLS.DLL". To work around this issue, use connections to a SQL Server 2005 server using the SQL Server 2000 client.

Exporting using direct Oracle drivers.  Exporting using direct Oracle drivers (e.g., exportData(type="DIRECT-ORACLE")) converts the exported column names to uppercase.

Importing and Exporting MATLAB Version 7 files not supported. S‑PLUS cannot import files created by MATLAB version 7 or higher, and MATLAB version 7 or higher cannot load .mat files created by S‑PLUS.   Workaround: Files created by MATLAB version 7 or higher can be imported into S‑PLUS if the -v6 option is used when saving the file in MATLAB.

McAfee VirusScan slowdown.  Virus scanning software such as McAfee 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, McAfee 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.

Column heads in files exported to Excel have filled background.  When you export a file to Microsoft Excel®, its column heads now appear as white text with a black filled background.

Script window output misdirected.  Switching script windows while computations are taking place can cause script output to show up in the wrong window. If you run a script in one window, and then switch to another script window, the output from the first script appears in the second window.

Appearance of java controls in S‑PLUS Windows GUI.  When you display the java.graph window in the S‑PLUS Windows GUI, it is not added to the list of displayed windows on the Window menu. Also, it always appears on top of the Commands window.

Using the debugger and profiler can tax speed, memory usage.  When you use the debugger or the profiler in the S‑PLUS Workbench, you might notice a slowdown in running your code or an extra draw on memory usage. This behavior is typical of process-heavy tools and can be especially problematic with larger data sets. To help mitigate this effect, try running the debugger or profiler against several small samples of your data and examining the results.

Windows Firewall warning when calling java.graph().  Users who have the Windows Firewall included in XP Service Pack 2, or a similar software-based firewall enabled on their system, can experience a security warning when calling java.graph() for the first time. This is expected behavior. You can choose Unblock safely to prevent it from occurring in the future.

Explicitly naming a function with lapply, sapply, and so on.  When FUN is a generic function, lapply and sapply will sometimes not find the proper function when you call lapply(X,FUN). It works if you use lapply(X,function(x)FUN(x)). This applies to any function that takes another function as an argument, not just to lapply and sapply. For example, sapply(as.bdFrame(fuel.frame)[,-5], floor) will cause an error; the recommended workaround is sapply(as.bdFrame(fuel.frame)[,-5], function(x) floor(x)).

Errors in .Last cause GPF/system terminating.  When there are errors in .Last, and you quit the GUI, these errors are reported in a dialog. When you click OK in this dialog, the GUI goes away.

Integer overflow warning.  If you exceed your processor's integer limit, S‑PLUS now returns NA and generates a warning indicating that you have reached integer overflow. For example, on a computer with a 32-bit processor, if you calculate the following:
   46341 * 46341

you will see the integer overflow warning. You can avoid this problem by using floating point numbers. For example,
   46341. * 46341

Big Data library does not convert variable names on import.  When you import data using the argument bigdata=T, variables containing characters considered "illegal" by the standard S language are retained. (That is, while the S language does not recognize any character other than a-z, A-Z, 0-9 and period, the Big Data library allows all characters.) When standard S‑PLUS converts input data to a data frame, it modifies any variable names containing an illegal character, replacing any illegal characters with a period (".") character. For example, if a variable name includes a space ("a b") or an underscore ("a_b"), then in standard S‑PLUS, a period replaces the space or underscore ("a.b"). The Big Data library does not follow this convention; rather, it retains variable names on import.

To change any variable names to names that the S language recognizes, use the make.names function, which converts character strings into legal S‑PLUS names. See the Help topic for make.names for more information.

Resetting configuration. If you do not re-install the S‑PLUS Workbench in a clean directory, you might not see configuration changes. Although we recommend installing in a clean directory, if this is not possible, remove the configuration files prior to installing S‑PLUS 8.0.4. See Adding and Removing Components of S‑PLUS for more information.

Functions with no support for new graphics features.  The following functions do not support the graphics color enhancements:

Top of page

Module Support

S‑PLUS 8.0.4 will support the following S‑PLUS modules. These modules require a license to use. For module version information, see the module's release notes in the SHOME/modulename directory.

Module Platform
S+ArrayAnalyzer® Windows, Linux 32/64-bit
S+FinMetricsTM Windows, Solaris, Linux 32/64-bit
S+NuOPT Windows, Solaris, Linux 32-bit
S+WaveletsTM Windows, Solaris, Linux 32-bit
S+EnvironmentalStatsTM Windows
S+SeqTrialTM Windows
S+SpatialStatsTM Windows, Solaris, LINUX 32/64-bit

Top of page

Installing S‑PLUS

The instructions in this section apply to all single-user versions of S‑PLUS 8.0.4 for Windows. Consult the Installation and Administration Guide (admin.pdf) in the top-level directory of the installation CD for information on all other licensing options (including concurrent users and Terminal Services users) or general information regarding license key generation and management.

You must have full administrative 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.

You can choose not to install files, and then install them later by opening the Control Panel, and then clicking Add/Remove Programs. See below for more details.

Recommended for advanced users.

Installing From the File Downloaded From the ITC Licensing Database

The first three steps below for the CD-ROM installation do NOT apply to most installations at UVA. You will download your product and get your license information through the ITC licensing database.

Installing S‑PLUS from the CD-ROM

  1. Insert the CD into the CD-ROM drive.
  2. If your system has CD-ROM AutoPlay enabled, the S‑PLUS 8 Setup program starts automatically. Otherwise, click Start > Run, and in the Run dialog, 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.
  3. The S‑PLUS 8.0 Setup dialog appears.
  4. Follow the setup instructions on the screen. For most installations, we recommend using the default settings. It is recommended that you close or disable other applications while installing S‑PLUS 8.0.4, in particular virus checkers and screen savers.

S‑PLUS 8.0.4 is licensed managed by FLEXnet®, and requires a license key. If you are a desktop user and try to start S‑PLUS without a license key, a wizard is automatically invoked, prompting you for your license authorization code (LAC). Enter this LAC when prompted, and a license key is automatically generated and stored in your SHOME/adm/lic/keys directory by default. If you do not know where your LAC is located, or if you have other difficulties fulfilling your license, contact Insightful Technical Support.

Adding and Removing Components of S‑PLUS

To add or remove parts of S‑PLUS 8.0.4 from your system, in the Control Panel, click Add/Remove Programs. Select S‑PLUS 8.0 from the list of installed programs, and then click Change/Remove. In the S‑PLUS 8.0 Setup program, select Modify. Use the tree of components provided to add (select) or remove (clear) parts of S‑PLUS 8.0.

If you have a previous version of the S‑PLUS Workbench, and you are installing S‑PLUS 8.0.4 without deleting the existing directory before installing S‑PLUS 8.0.4 (not recommended), you should delete cached Eclipse configuration settings to take advantage of changes implemented in this release. Eclipse caches S‑PLUS Workbench states in the following locations, which you should remove, prior to installing this version:

<SHOME>\configuration\org.eclipse.osgi\manifests\com.insightful.*

Where <SHOME> is the old installation location.

<WORKSPACE>\.metadata\.plugins\org.eclipse.ui.workbench\workbench.xml

Where <WORKSPACE> is the location you identified as your workspace.

Uninstalling S‑PLUS from Your Computer

To uninstall S‑PLUS 8.0.4, in the Control Panel, click Add/Remove Programs. Select S‑PLUS 8.0 from the list of installed programs, and then click Change/Remove. In the S‑PLUS 8.0 Setup program, select Remove.

Top of page

Running S‑PLUS

After installing S‑PLUS 8.0, the S‑PLUS 8.0 program group appears as an option under Programs when you click the Start button. The S‑PLUS program group contains the following options:

Starting S‑PLUS with the Full Graphical User Interface

  1. From the Start menu, click All Programs.
  2. Click S‑PLUS 8.0.
  3. Click S‑PLUS.

Starting S‑PLUS Using the Workbench

  1. From the Start menu, click All Programs.
  2. Click S‑PLUS 8.0.
  3. Click S‑PLUS Workbench.

Starting S‑PLUS as a Console Application Without the GUI

  1. From the Start menu, click Programs.
  2. Click S‑PLUS 8.0.
  3. Click S‑PLUS Console.

See the online Installation and Administration Guide (admin.pdf) in the top-level directory on the installation CD for more information on installation and license key generation.

Top of page

Getting Help in S‑PLUS

S‑PLUS offers an online HTML Help system to make learning and using S‑PLUS easier. From the Help menu in the S‑PLUS Windows GUI, you can find help for both the graphical user interface and the S‑PLUS language. Note that in S‑PLUS 8.0.4, the help files for GUI and command line functions are completely separate.

In the S‑PLUS Workbench, to open the language reference, click the Help > S‑PLUS Help menu option. You can find help for the Workbench UI in the S‑PLUS Workbench User's Guide. See below for more information.

Manuals

S‑PLUS 8.0.4 has two printed manuals:

Book Name File Name
S‑PLUS 8 Installation and Administration Guideadmin.pdf
Getting Started with S‑PLUS 8 getstart.pdf

These manuals are also available as Adobe Acrobat PDF files from Help > Online Manuals in the S‑PLUS Windows GUI (or from Help > S‑PLUS Manuals in the S‑PLUS Workbench). You can also find these files in SHOME/help (where SHOME is your installation directory):

Book Name File Name
S‑PLUS 8 Application Developer’s Guideadg.pdf
S‑PLUS 8 Installation and Administration Guideadmin.pdf
S‑PLUS 8 Big Data Library User’s Guidebigdata.pdf
S‑PLUS 8 Function Guidefunctionguide.pdf
Getting Started with S‑PLUS 8getstart.pdf
Guide to Graphicsgraphics.pdf
Guide to Packagesspluspackages.pdf
S‑PLUS 8 Programmer's Guidepg.pdf
S‑PLUS 8 Guide to Statistics, Volume 1statman1.pdf
S‑PLUS 8 Guide to Statistics, Volume 2statman2.pdf
S‑PLUS 8 User’s Guideuguide.pdf
S‑PLUS 8 Workbench User’s Guide
workbench.pdf

Top of page

Compilers/Linkers

S‑PLUS 8.0.4 is built with Microsoft Visual C++ 6.0® and Compaq/DEC FORTRAN® 6.0. All samples shipped with S‑PLUS 8.0.4 have been tested with Visual C++ 6.0 and Compaq/DEC FORTRAN 6.0. If you use Microsoft Visual C++ 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 6. 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 6 update, and recompile and relink these applications to ensure there are no runtime problems related to changes that may have occurred in 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"

Top of page

Contact Information for Feedback

We are very interested in receiving information on possible bugs and usability enhancements from all users in this release. Please send any feedback to:
bugs@insightful.com

General information about this release of S‑PLUS is available at:
http://www.insightful.com/support/splus80win/

You can search the S‑PLUS Frequently Asked Questions (FAQ) Knowledgebase at:
http://www.insightful.com/insightful_faq/search.asp

Appendix

This section contains names and short description of new objects and data sets in S‑PLUS 8.0.4. For more information about any one of these, see its individual help file.

New Functions for Graphics Colors
String Manipulation Functions
Misc. Functions - Many Added for R Compatibility
Functions Related to the Package System
File / Directory Manipulation Functions
Color Data Sets
Other New Data Sets

New Functions for Graphics Colors

Function name Description
add.color.valuesModifies the table of named colors.
cm.colorsCreates color sets suitable for image palettes.
col2rgbConverts the specified color to RGB integer triplet.
color.valuesGets color names and values.
colorsGets color names and values.
grayGenerates shades of gray at different levels.
gray.colorsGenerates gamma-corrected shades of gray.
greyGenerates shades of gray at different levels.
grey.colorsGenerates gamma-corrected shades of gray.
heat.colorsCreates color sets suitable for image palettes.
hslConverts HSL color specification to RGB.
hsvConverts HSV color specification to RGB.
image.paletteSets or gets the default palette and image palette RGB values.
paletteSets or gets default palette and image palette RGB values.
rainbowCreates a color set based on a sequence in HSV color space.
rgbCreates an RGB value from numeric RGB intensities.
rgb2hslCreates an HSL value from numeric RGB intensities.
rgb2hsvCreates an HSV value from numeric RGB intensities.
terrain.colorsCreates color sets suitable for image palettes.
topo.colorsCreates color sets suitable for image palettes.
use.device.paletteUse a device-specific palette or a global palette.
use.legacy.graphicsUses legacy graphics internal code.

String Manipulation Functions

Function name Description
dQuotePuts double quotation marks around text.
delimMatchMatches delimited substrings in a character vector, with proper nesting.
format.charFormats using C-style formats.
formatCFormats using C-style formats.
gettextTranslates text messages.
gettextfUses the C sprintf function to combine numbers and strings into a
formatted string.
make.uniqueMakes character strings unique.
ngettextTranslates text messages.
sprintfUses the C sprintf function to
combine numbers and strings into a formatted string.
sQuotePuts single quotation marks around text.
strsplitSplits strings into pieces based on regular expression.
tolowerTranslates letters in a vector of character strings or a bdCharacter to
all lower case.
toupperTranslates letters in a vector of character strings or a bdCharacter to
all upper case.

Misc. Functions - Many Added for R Compatibility

Function name(s) Description
%w/o%operator version of setdiff.
bquoteReturns a quoted expression, where parts of the expression wrapped
in ".()" are evaluated in the environment specified by the where argument.
colnames, colnames<-specifies column names. See colIds.
complete.caseswhich cases have no missing values.
cov2corconvert a covariance matrix into a correlation matrix.
datajust checks if data object is available.
download.fileget a file from the Internet.
expm1, log1paccurate exp(x) - 1, log(x+1).
getOptionsame as options(arg)[[1]].
head, taillook at start or end of an object.
igroupAlls, igroupAnys,
igroupMaxs, igroupMeans,
igroupMins, igroupProds,
igroupRanges, igroupSums
fast group summaries.
is.RFALSE in S-PLUS.
is.symbolsame as is.name, for compatibility with R.
log2log base 2.
model.offset, model.response,
model.weights
like model.extract but for specific model components.
NCOL, NROWlike ncol, nrow, but works with vectors.
nlevelsshortcut for length(levels(x)).
optimoptim function from MASS library section now part of S-PLUS.
perlcall Perl from inside of S-PLUS.
quotelike Quote.
rownames, rownames<-specifies row names. See rowIds.
sdlike colStdevs.
setwdset working directory.
stopifnotfor writing tests.
subscript2d, subscript2d<-subscripting rectangular data objects.
Sys.getenvlike getenv.
Sys.getpidlike process.id()[[1]].
Sys.putenvset an envionment variable.
Sys.sleeplike sleep.
upper.triupper version of lower.tri.
which.max, which.minindex for max and min.

Functions Related to the Package System

Function name(s) Description
checkExample, checkExamples runs example code from help files.
getSversion version object for packages.
install.pkgutils installs pkgutils library section.
installFromDataFiles, installFromSFiles install S code from files.
read.dcf reads a package DESCRIPTION file. Required.
set.parse.mode set S-PLUS or R parsing mode.
unresolvedGlobalReferences look for undefined functions and data in source files.
Useful for porting packages from R.

File / Directory Manipulation Functions

Function name(s) Description
basenamebasename of a file path.
dirlists files in a directory.
dir.createmakes a directory.
dirnamethe directory part of a file path.
file.accesschecks file access permission.
file.appendappends to a file.
file.copycopies a file.
file.createcreates a file.
file.infogets information about a file.
file.removeremoves a file.
file.renamerenames a file.
file.showdisplays a file.
file.splitpathsplits a full path name into individual components.
is.symlinkchecks if a file is a symbolic link.
list.fileslists files.
path.expandexpands a file path.
system.filefinds full names of files in packages.

Color Data Sets

Data set name Description
css.colorsNamed vector describing the 147 named colors from the CSS3
Color Module specification.
r.default.colorsNamed character vector containing the RGB hex string values for the 8 colors in the
default R global color palette.
r.default.image.colorsNamed character vector containing the RGB hex string values for the 12 colors
that R uses by default in its image function.
splus.default.colorsNamed character vector containing the RGB hex string values for the 16 colors in
the default S-PLUS global color palette.
splus.default.image.colorsUnnamed vector containing the RGB hex string values for the 256 colors in the default
S-PLUS global image color palette.
x11.colorsNamed vector with the 657 named colors in the standard X11 color specification, after
removing spaces and normalizing to lowercase names.

Other New Data Sets

Function name(s) Description
iris.dfiris data as a data frame.

Top of page