Release Notes for S-Plus 7.0.6 for UNIX/Linux (December 2005)

These release notes are current as of December 2005.

This file contains the following information:

·         About This Release

·         Module Support

·         Running S-PLUS

·         What is New in S-PLUS 7.0.6

·         What is New in S-PLUS 7.0.3

·         What is New in S-PLUS 7

·         Known Issues in S-PLUS 7

·         Changes to Language Functions

·         Supported Platforms and System Requirements

·         Installing S-PLUS

·         Using S-PLUS for UNIX from a Windows Desktop

·         Getting Help in S-PLUS

·         Contact Information for Feedback

About This Release

S-PLUS 7 is a major release of the S-PLUS Product Family, with a focus on providing a robust environment for creating statistical applications applied to very large data sets. S-PLUS 7.0.6 is a maintenance update, providing fixes to bugs discovered after the release of S-PLUS 7. This maintenance update also includes enhancements related to data import and export, which were implemented in S-PLUS 7.0.5.

NOTE   S-PLUS 7.0.5 was a version of the S-PLUS language engine that shipped only with Insightful Miner 7. It was not available as an independent patch to S-PLUS. Changes between S-PLUS 7.0.5 and S-PLUS 7.0.6 are ancillary bug fixes to S-PLUS. For more information, see Bugs Fixed in S-PLUS 7.0.5 and 7.0.6. S-PLUS 7.0.4 was a Windows-only release.

S-PLUS 7 is available in two editions: S-PLUS 7 Professional Developer and S-PLUS 7 Enterprise Developer, and improves upon S-PLUS 6.2 in the following areas:

Available in S-PLUS Enterprise Developer:

·         Big Data Library

·         S-PLUS Eclipse Workbench Developer Tools

Available in S-PLUS 7 Enterprise Developer and S-PLUS Professional Developer:

·         New correlatedData library

·         Improvements to timeSeries objects

·         FLEXnet license management system

·         New functions and other minor new capabilities

There are also a number of enhancements to existing functions, and improvements to quality in several areas.

Module Support

S-PLUS 7 includes support for the following S-PLUS modules. These modules are unchanged in S-PLUS 7.0.6.

These modules require a license to use.

Module

Version

Platform

S+ArrayAnalyzer

2.0.4

Windows

S+FinMetrics

2.0.1

Windows, Solaris, Linux 32-bit

S+NuOPT

1.6.2.0b

Windows, Solaris, Linux 32-bit

S+Wavelets

2.0.2

Windows, Solaris, Linux 32-bit, HP, and AIX

S-PLUS for ArcView GIS Link

1.1.1

Windows

S+EnvironmentalStats

2.0.3

Windows

S+SeqTrial

2.0.3

Windows

S+SpatialStats

1.5.7

Windows, Solaris, Linux 32-bit, HP, AIX

The following modules have not been changed.

·         S-PLUS for ArcView GIS Link

·         S+EnvironmentalStats

·         S+SeqTrial

·         S+SpatialStats

Running S-Plus

Before starting S-PLUS, you must do the following:

1.       Set your DISPLAY environment variable to your local machine, if necessary.

2.       Create an S-PLUS chapter to contain your work.

To use the Java related features of S-PLUS, you must be able to connect to your local X window server. Thus, you must have the environmental variable DISPLAY set and the X window server on your local machine must allow the S-PLUS server to create windows on your machine; see the UNIX programs xauth or xhost. Typically, if you can run xclock on your machine, then S-PLUS should also be able to access the X server.

To set your display from a C-like shell (csh, tcsh, etc.), use the setenv command:

% setenv DISPLAY <display_name>

where <display_name> is the name of your local machine. From the Bourne- and Korn-like shells (including sh, ksh, bash, etc.), use the following commands:

% DISPLAY=<display_name>;export DISPLAY

You do not need to do this if your DISPLAY variable is set already; check the output from echo $DISPLAY to be sure.

Creating an S-PLUS chapter is necessary for storing the data objects and external files you create in S-PLUS. The following commands create an S-PLUS chapter named mysplus for you to work in (be sure you do not have a mysplus directory in your home directory before typing these commands).

% cd

% mkdir mysplus

% cd mysplus

% Splus CHAPTER

If you do not create a chapter, S-PLUS automatically creates one for you named MySwork the first time you start S-PLUS.

You are now ready to start S-PLUS. S-PLUS may be launched in a variety of modes. The following table lists each UNIX command-line expression and the corresponding mode for launching it. In all of the commands below, Splus refers to the script you use to launch S-PLUS 7 on your system.

Command-line Expression

S-PLUS Mode

% Splus

S-PLUS command line without Java.

% Splus –j

S-PLUS command line supporting Java calls, Java graphics, and the Java help interface.

% Splus –bigdata

S-PLUS command line with the Big Data library. (Enterprise Developer edition only.) Also loads Java.

% Splus –g
   
or
% Splus -g &

 

S-PLUS graphical user interface.

The second command using the ampersand "&" puts the GUI process into the background, freeing your xterm for other uses.

The -e flag may be added to either of the first three modes to enable command-line editing. The Commands window in the graphical user interface always allows basic editing.

-helpoff

S-PLUS without the automatic invisible startup of the help system. The -helpoff flag is useful only with the -g flag.

The invisible startup improves initial responsiveness of the help system but adds a significant memory footprint to the current session. If you want to optimize your available memory, this flag may prove useful.

% Splus –w
     
or
% Splus –workbench

S-PLUS Workbench, the Eclipse IDE plug-in that provides a work environment integrated with S-PLUS (Enterprise Developer edition only). Note that the S-PLUS Workbench is not supported on HP-UX.

% Splus -w –bigdata &

Loads the S-PLUS Workbench and the big data library.

What's New in S-PLUS 7.0.6

S-PLUS 7.0.6 includes bug fixes in S-PLUS 7.0.5, which was included with Insightful Miner 7, and bug fixes since S-PLUS 7.0 was released. For more detailed information, see the section Bugs Fixed in S-PLUS 7.0.5 and 7.0.6 or the file SHOME/FIXEDBUG.TXT, included on the product CD.

Support for reading and writing longer strings

S-PLUS 7.0.6 now supports reading and writing longer strings for a variety of data types. These improvements include the following:

Data Type

Import character string length (max)*

Export character string length (max)

ASCII

32K

32K

Oracle-Direct

 

3999 (varchar2)

2000 (nchar)

1000 (nvarchar2)

< 4000 (varchar2)

>= 4000 (CLOB)

Oracle via ODBC*

1999 (char)

2000 (nchar)

1000 (nvarchar2)

<= 255 (char)

> 255 (long)

Excel

32K

32K

Access 2000

32K Memo field

32K Memo field

SQL Server 2000-Direct

 

4096 (TXT)

255 (varchar -DRIVER ISSUE)

255 (nvarchar)

255 (char)

255 (nchar)

< 8000 (varchar)

>= 8000 (text)

 

SQL Server 2000 - ODBC

7999 (TXT)

7999 (varchar)

3999 (nvarchar)

7999 (char)

3999 (nchar)

<= 255 (varchar)

> 255 (text)

*Note the following issues for writing long strings:

·         Oracle-Direct: If you have two or more columns of long strings, either with strings over 1,333 characters, S-PLUS writes empty rows to the database.

·         Oracle via ODBC: If you have two or more columns of long strings, either with strings over 255 characters, S-PLUS writes empty rows to the database.

·         SQL Server 2000 Direct: If you export data with strings over 255 characters, the string is truncated. The longer the string, the greater the truncation. For example, for strings of length 3999, they are truncated and inserted into the database as 159-character strings. For strings of length 7999, they are truncated and inserted into the database as 63-character strings.

·         DB2:  Previously, S-PLUS created fixed-length strings when exporting data to a DB2 database; however, this design did not allow for long strings to be exported. Now, when you export data to a DB2 database, S-PLUS creates the columns as varchar, rather than CHAR, to accommodate up to 32,672 characters in a string.

SAS file import enhancements

S-PLUS now supports importing and reading 64-bit SAS files and compressed SAS files.

What’s New in S-PLUS 7.0.3

S-PLUS 7.0.3 includes and bug fixes since S-PLUS 7 and 7.0.2 were released. For more detailed information, see the section Bugs Fixed in S-PLUS 7.0.3 or the file SHOME/FIXEDBUG.TXT, included on the product CD.

What's New in S-Plus 7

S-PLUS 7 includes a variety of new features that extend S-PLUS capabilities. Major additions include:

·         New Big Data Library (Enterprise Developer only)

·         S-PLUS Eclipse Workbench Developer Tools (Enterprise Developer only)

·         New FLEXnet License Manager

·         New correlatedData Library

·         New Functions

·         New Model Type: Cox Mixed Effects Models

·         timeSeries Object Improvements

·         New Color Scheme for Graphics Devices

·         Higher Quality Graphlet Printing Capability

·         Other Enhancements

·         Fixed Bugs

This section briefly describes these new features and other enhancements.

Enterprise Developer Features

·         New Big Data Library

(Enterprise Developer only) The Enterprise Developer edition of S-PLUS 7 introduces the Big Data library. The Big Data library provides functionality for efficiently manipulating and analyzing out-of-memory data. The Big Data library functions have no limits on the number of rows in the data. As summary information is computed and stored for each column, the number of columns is slightly limited, with the current implementation supporting tens of thousands (10,000s) of columns on a typical machine.

For details about loading the Big Data library, see Running S-PLUS. The Big Data library is not loaded by default when you start S-PLUS from the S-PLUS Workbench or as a console application. Always load the Big Data library if you work with big data projects. (If you start a big data project without having loaded the Big Data library, you will see errors when you run your script.)

Find help for the Big Data library in the Enterprise Developer User’s Guide, found in the PDF file eduserguide.pdf, which is available in the SHOME/doc directory. Help for individual functions are integrated in the language help.

You must set your DISPLAY environmental variable before you start S-PLUS with the Big Data library loaded. For information on setting the DISPLAY variable as well as the available options for running S-PLUS, see the section Running S-PLUS.

·         S-Plus Workbench Developer Tools

(Enterprise Developer only) The new S-PLUS Workbench is our first release of an integrated environment for S code development, based on the Eclipse framework. This release offers the core functionality of code editing, syntax error detection, project and task management, interfaces with source code control systems, and interaction with the S language engine. In future releases we plan to extend this environment based on customer feedback, with a view to making the S-PLUS Workbench a complete environment for robust and professional code development in the S language. Note that the S-PLUS Workbench is not supported on HP-UX.

Find help for the S-PLUS Workbench in the S-PLUS User’s Guide, Chapter 8, which is available in the PDF file unixug.pdf, which is available in the SHOME/doc directory. Alternatively, in the S-PLUS Workbench, click Help > Help Contents, and then in the Help UI, click S-PLUS Help.

New FLEXnet License Manager

In response to demand from commercial customers seeking an industry-standard system for managing software licenses, the S-PLUS Product Family now uses the FLEXnet system from Macrovision (previously known as FlexLM) for license management. The interface for managing licenses and monitoring license usage will be familiar to many systems administrators, and offers a much greater degree of flexibility and reliability than the license management system used in previous releases of S-PLUS.

Note that all editions of S-PLUS require a license. Further information about the license management system can be found in the Installation and Administration Guide, which is available in the SHOME/doc directory.

New correlatedData Library

This library compares favorably to elements of SAS PROC GENMOD, PROC MIXED and the GLIMMIX macro. It has significant applications in life sciences, finance and other markets. In life sciences, for example, its use is particularly relevant in the clinical development area. Load the correlatedData library by entering the following in the Commands window:

>library(correlatedData)

New Functions

Use the following new functions to compute minimum, maximum, or range by row or column. These functions are much faster than using an apply() call:

colMins

colMaxs

colRanges

rowMins

rowMaxs

rowRanges

·         Use the new function allTrue in combination with all.equal for writing automated tests to be called by do.test.

·         Use the new function expectWarnings to write your own automated tests (i.e., to be run using "do.test"). Using expectWarnings, you can suppress unavoidable warnings and test that warnings your functions should produce do occur. (This function has no help topic in this release.)

·         Use the new function pedigree for support for pedigree plotting. See its help topic in the Language Reference for more information.

·         Use the new function bdsmatrix for support for sparse block diagonal matrix objects. See its Help topic in the Language Reference for more information.

·         Use the new function unname, which removes names or dimnames from a object. This can make calculations run much faster (see example in the help file)

New Model Type: Cox Mixed Effects Models

The new function coxme allows you to fit a Cox model with random effects to censored data. Random effects can be specified with a syntax similar to that used for linear mixed-effects models with lme().

timeSeries Object Improvements

The following new methods and functions for timeSeries and similar objects are now available:

·         More powerful column-wise summary statistics for timeSeries objects are now available:

·         {col, row} {means, sums, vars, stdevs, mins, maxs, ranges}

·         col {products, medians, quantiles} etc.

·         New powerful functionalities to compute the length of time series, lags of time series, differences of time series, sort time series, and random sample time series:

·         seriesLength(), seriesLag(), diff method, sort, sample method

·         New function to detect month end dates:

·         is.monthend()

·         New method functions for arima modeling and a new arima prediction function:

·         summary, coef, vcov, residuals, fitted, predict

·         New powerful multiple timeDate, bdTimeDate and time series-sensitive subscripting, such as

·         myTimeSeries[ timeEvent( c("1/1/01", "1/1/02"), c("4/1/01", "4/1/02") ), cols ]

·         myTimeSeries[ timeEvent( "1/1/01", "1/1/02" ), cols ] <- myNewData

·         Improved delta t and frequency method for time series to accommodate end of month regular time series and to be consistent with old style time series classes.

·         More functions now work with time series objects:

·         apply, lapply, hist, density, pmin, pmax, order, rank, chisq.gof, ks.gof, cdf.compare, cor.test, var.test, t.test, wilcox.test, pairs, barplot, boxplot, lsfit, l1fit, rreg, lmsreg, ltsreg, location, ms, nls, nnls.fit cov.mcd, cov.mve, cov.wt, kmeans, dist, mclust, princomp, factanal, etc.

·         Improvements to plot and trellisPlot (which also apply to signalSeries):

·         xlim and ylim are now fully supported (they were not in previous releases).

·         You can now use the at and labels arguments to axis.time and axis.numeric (via the x.axis and y.axis arguments to plot and trellisPlot) to override the default axis tick mark positions and labels.

New Color Scheme for Graphics Devices

The default colormaps for the various graphics devices have been changed so they all gave a fairly similar result. The color settings were chosen to work well with both ordinary and Trellis style plots.

The main difference is in the image color settings. For color plots, various shades of blue from light (low values) to dark (high values) are now used. For black-and-white devices, the shades of gray are now light gray (low values) to dark gray (high values). All graphics devices now automatically have the trellis.settings attribute set for them.

To Use Old Color Settings:

Graphsheet

To use the old color settings, for every session, run the following function:

stdImageColorSet(blue=F)

This must be done in every session because stdImageColorSet(blue=T) is called in the startup file S.init. You can remove the call to stdImageColorSet in S.init; the file is in the top level directory where S-PLUS is installed. Note that this may change for the release.

java.graph device

The old colorscheme is available in the list java.colorscheme.standard.6.2. If you call: java.colorscheme.default <- java.colorscheme.standard.6.2 all subsequent calls to java.graph (where the colorscheme argument is not explicitly set) in the current project directory will use the old colorscheme. If you switch to a different project directory you will need to create the java.colorscheme.default object (as shown above) again.

pdf.graph and wmf.graph

Set the colorspec argument to pdf.colors.6.2 or pdf.grays.6.2 to get the old colormaps.

PostScript device

You can set the new argument: old.style=T to get the old behavior.

A new argument, color.p has been added to the PostScript device. Setting color.p=T (or just color=T) will create color PostScript output using the new colormaps. The default is color.p=F so that postscript will continue to produce black-and-white postscript by default.

The behavior and setting of graphics devices started with the trellis.device function has not changed.

Changes to the motif device:

A new argument, color, has been added to the motif function. If color=T (the default), then a new default color scheme is used. This color scheme matches the default color schemes for the other devices described above. It has a white background but it still works well with Trellis displays. This new color scheme appears in the Options > Color Scheme ... dialog box (accessed from the motif window) as "Standard".

There is also a new "Standard B&W" color scheme that appears in the Options > Color Scheme dialog box and this scheme is used if you set color=F when calling motif.

The Trellis color scheme has also been added to the list that appears in the Options > Color Scheme. It differs from the color scheme used by trellis.device(motif) only in the image colors - it uses the cyan-white magenta colors instead of a gray scale.

If you have Saved your Color Scheme selection from the Options > Color Scheme dialog box, then it overrides the color argument in the call to motif(). You can avoid this behavior by setting the new argument, ignore.sgraphrc, to T when calling motif(). See the motif help file for more information about settings that get saved in the .sgraphrc file.

Higher Quality Graphlet Printing Capability

The Graphlet code in spjgraph.jar now determines whether the Ggfraphlet is running in a JVM (Java Virtual Machine) that can handle the more-recent Java printing (including rotated fonts), and uses this when printing from the Graphlet Print button.  In particular, plot labels print much better; the previous code caused the characters to print with "jagged" edges.

If the JVM is old (such as the default Microsoft JVM in Internet Explorer), then the printing is the same as before. To get the new printing, you will need the Java Plug-in.

For comparison purposes, you can get the old printing behavior (even with a new JVM) by specifying the applet property:

<PARAM NAME=spjgraph.graphics.2d VALUE=FALSE>

The new printing code uses a new Print dialog box, where the printer is specified with a separate Printer button.

The changed code affects only the print quality when you use the Graphlet Print button to print the contents of the Graphlet. It does not improve the print quality when you print a whole browser page that includes a Graphlet. We believe this is because of the way that browsers handle printing Java applets (and therefore is beyond our control).

For example, try printing out the page

http://www.insightful.com/products/Graphlets/gallery/TestJavaApplet.asp

which contains a simple applet drawing a box with crossed lines. In the printed page, the diagonal lines print characters with "jagged" edges.

Other Enhancements

IO

·         Changed the default for options()$time.out.format from

     "%02m/%02d/%Y %02H:%02M:%02S.%03N"
to
     "%02m/%02d/%04Y %02H:%02M:%02S.%03N"

This highlights errors where example datasets reported the wrong year.

·         importData now supports access to self-authenticating Oracle accounts. For example:

importData(type="ORACLE", server="ORACLE.DBNAME", table="TABLENAME", password="self")

imports the table "TABLENAME" from the specified server.

Note: You must specify password="self" to use the self-authenticating feature.

Language

·         dim for the timeSeries or signalSeries object now returns matrix dimensions.

·         The help file for deprecated functions has been updated.

·         Trellis graphics now allow the change of cex in tick mark labels on the x and y axis. For example, dotplot(formula,cex=2) affects only font size within panels, but not on the axis.

·         The function match.path() was added. This function determines whether two paths refer to the same item.

·         Added "GDT" (GMT daylight time) to the time zone list. Otherwise converting date() to timeDate() returns NA.

·         You can now set the entire contents of a timeSeries to one value.

·         The function anyMissing() is now available in the core product. Previously, it was available only in the Missing library.

·         try() now supports nesting calls.

·         The methods [[, [<-, and [[<- are now supported for numericSequence objects.

·         A new argument, align.by, has been added to aggregateSeries 

·         casefold follows locale when you switch cases of letters.

·         A new feature was added in aggregateSeries to include the left endpoint of each bin.

Statistics

·         Addition of multicomp method for lme, multicomp.lme, as part of distributed
S-PLUS.

·         lme function now drops unused levels.

·         density includes the new feature of expanded variety of bandwidth selection rules.

Bugs Fixed in S-PLUS 7.0.5 and 7.0.6

For a list of the bugs fixed in this release, see FIXEDBUG.TXT.

 Bugs Fixed in S-PLUS 7.0.3

Changes to the Big Data library function bdGlm:

The "link" and "var" for the quasi() family are not used properly in bdGlm().The fitted model, and/or the deviance, does not match the results from glm().

bdGlm fails when creating an S-PLUS list from XML with intercept-only model.  glm(plants~1, data=as.bdFrame(guayule))

Incorrect results with "cloglog" link and either the binomial or quasi family.

The contrasts argument is ignored when creating the model matrix, so the default contrasts are always used.

Using the bdGlm function with a binomial family and the weights argument returns incorrect null.deviance output.

Using the bdGlm function with any family, and with no intercept fit, returns incorrect