These
release notes are current as of April, 2005. This file contains the following
information:
·
Changes
to Language Functions
·
Supported
Platforms and System Requirements
·
Contact
Information for Feedback
S-PLUS
7 is a
major new 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 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 main
areas:
Available
in S-PLUS 7 Enterprise Developer:
· Big Data library
· S-Plus Workbench developer tools
Available
in S-PLUS 7 Enterprise Developer and S-PLUS 7 Professional
Developer:
· New correlatedData library
· Improvements to timeSeries objects
· Improved GUI responsiveness
· Support for 4GT RAM tuning
· FLEXnet license management system
· Various new functions and other minor new capabilities
There
are also a number of enhancements to existing functions, and improvements to
quality in several areas.
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)
· Updated Winjava Library to use JRE 1.4.2
· Improved responsiveness of Windows GUI
· New Model Type: Cox Mixed Effects Models
· New Color Scheme for Graphics Devices
· Higher Quality Graphlet Printing Capability
(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.
The Big
Data library loads only by default in the Windows S-Plus GUI and the S-Plus Workbench on Windows. The Big
Data library is not loaded by default when you start S-Plus from the Windows Command line,
from BATCH mode, 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.)
(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.
Find
help for the S-Plus Workbench in
the S-Plus Enterprise Developer
User’s Guide, Chapter 2, which is available by navigating to Help
> Online Manuals in S-PLUS 7.
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, including single-user desktop licenses, now require
validation of an active license at install time. For most installations this
process should be completely transparent. Further information about the license
management system can be found in the Installation and Administration Guide,
found by navigating the Help > Online Manuals.
By using
Microsoft 4GT RAM Tuning, S-PLUS 7 for Windows supports the ability to address
larger amounts of RAM than the earlier versions were capable of. This capability
was first available in S-PLUS 6.2 Server. It is now provided in all variations
of the S-PLUS 7 for Windows engine.
Operating
systems based on Microsoft® Windows NT® provide applications with a 4 GB virtual
address space. The virtual address space is divided such that 2 GB is available
to the application, and the remaining 2 GB is available only to the system. The
4GT RAM Tuning feature increases the memory available to the application to 3
GB, and reduces the amount available to the system to 1 GB. While this feature
benefits applications that run on computers with more than 2 GB of physical
memory, it also increases the RAM available to applications when less RAM is
present.
This
feature enables applications to use the first 3 GB of the address space on the
following systems:
· Windows Server 2003 family
· Windows 2000 Advanced Server
· Windows 2000 Datacenter Server
The
following is required to take advantage of 4GT RAM
Tuning:
· The machine must have at least 4GB of RAM.
· The /3GB switch must be specified in the operating system’s boot.ini file. (The installer does not change the boot.ini file. You must add the switch.)
Note: The additional RAM is not available if
S-PLUS is called from an executable that is not 4GT RAM Tuning-enabled. This
situation occurs when S-PLUS is called via Connect/C++ or Connect/Java. An
example of this is calling the S-PLUS engine from a java application such as
Insightful Miner.
Boot.ini
is a
text file located at the root of the system partition, typically
c:\boot.ini. It stores boot options for computers with BIOS firmware,
namely, computers with x86 and x64-based processors. When the computer starts,
the Windows boot loader, Ntldr, reads the boot.ini file and
displays the entries for each operating system in the boot menu. Then, Ntldr
loads the selected operating system in accordance with settings in the
boot.ini file.
By
default, on NTFS drives, the system, hidden, archived, and read-only attributes
are set to protect the boot.ini file; however, members of the
Administrators group can change these attributes. The file attributes do not
affect the operation of boot loader.
You can
edit the boot.ini file on a computer with BIOS firmware (x86 or x64) by
using Bootcfg (bootcfg.exe), a tool included in Windows XP and
later versions of Windows, or by using a text editor such as Notepad.
Caution:
Because Bootcfg protects certain attributes of the boot.ini file, and
because manual editing using a text editor is prone to error, you should use
Notepad only if Bootcfg is not available.
Microsoft
provides instructions articles on 4GT tuning, and for for editing the boot.ini,
on the Microsoft MSDN Web site, http://msdn.microsoft.com/library.
· To find information about 4GT RAM Tuning, at this site, search for “4GT RAM Tuning.”
· To find information about editing the boot.ini file, at this site, search for boot.ini.
· To find information about the /3GB switch, at this site, search for /3GB.
The Java
Runtime Environment has been updated to version 1.4.2 for the Winjava library.
The updated Java Runtime Environment is also used for the Big Data library
(Enterprise Developer only), which loads Winjava.
The
S-PLUS GUI on Windows no longer blocks when the S engine is performing
computations. This means that you can move windows or edit files while
computations take place. Note than menu items and other features that require
the S engine for computation will be disabled until the current computation
completes.
The
S-PLUS GUI now features a progress bar displaying the status of the current
computation. The progress bar is especially useful when you import large data
sets using functions available in the Enterprise Developer
edition.
The new
S-Plus installation program is
now fully compliant with Microsoft’s Windows Installer technology, so 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, and whether various install dialogs appear or not
during the installation.
For more
information on how to automate the S-Plus installation or how to run a
quiet installation, see the comments in the script file called
automate_sample.ini, located at the top level of your S-PLUS Windows
CD.
·
Use the
following new functions to compute minimum, maximum, or range by row or
column:
· 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)
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().
·
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.
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.
If
you want to use the old color settings, do the
following:
|
Device |
Description |
|
Graphsheet |
Run
the function: This
must be done in every session because |
|
|
The
old colorscheme is available in the list then
all subsequent calls to |
|
|
Set
the |
|
PostScript
device |
You
can set the new argument, |
Higher Quality Graphlet Printing
Capability
The
graphlet code in spjgraph.jar now determines whether the graphlet 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.
Graphlets
· Now, you can import images (such as maps generated by other applications, in formats such as *.jpg and *.gif) into S+Graphlets, so that hot regions for drill-down links and tool-tip displays can be defined and displayed on top of such images.
· The SOAP Query action now works in the current jar file.
· Graphlets now allow action (as with 'java.identify') for a non-rectangular area.
GUI
· Buffered output is now supported in the Script window. This support is controlled by the same option in the Command Line options dialog box and Ctrl-W.
· Added decimal.point and thousands.separator to the Import Data and Export Data dialog boxes in Windows GUI.
· The S-PLUS Windows GUI now supports dual-monitor displays.
· The shortcut key F9 now is an additional key (with F10) to run code in the S-PLUS GUI. Previously, this key refreshed graphs.
Integration
· SBATCH provides the option to start the console (sqpe.exe) of S-PLUS for Windows. The default behavior continues to start the full S-PLUS (splus.exe). The console version does not start up the GUI, which frees memory for analyzing larger data sets.
IO
· Native/ODBC Connectivity: You now have the ability to maintain a connection to a database while executing a series of SQL statements, allowing the creation of session-based temporary tables.
·
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.
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 lables 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 history() and again() functions now work on Windows.
· 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.
Reliability: Crashes and reference counting errors in some unusual conditions have been resolved, including when calling file() with no arguments, when modifying function objects directly, when calling aggregate or seriesMerge with a zero-row data frame or with factors with many levels, and when calling apply on a matrix with dimnames of the wrong size. Hanging conditions caused by calling the functions cor, lgamma