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.htm
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 and
mclust with
certain arguments have also been resolved. S-PLUS is now more robust to system
environment limitations, such as lack of temp file space and lack of file
handles (it now uses far fewer).
Performance:
Reading text files is now much faster, thanks to code optimization and changes
in how S-PLUS scans the file for column types. Importing from SAS, SPSS and
Oracle is also faster in many cases. Writing data to network drives has been
optimized. Many functions (too numerous to list) have had their S code optimized
to use more efficient idioms, and others such as mean() and median() have had
their internal implementations optimized for greater
efficiency
S
Language:
Several fixes have been made to timeSeries methods
to correctly handle time zone issues and multiple observations on the same date,
and timeSeq now
correctly handles some execptional cases. aggregate can now
pass additional arguments to the aggregating
function. matrix and
array are now
more strict when checking validity of dimnames. Problems reported with
browser() have
been resolved.
Statistics: Fixes
were made to bugs in modeling functions which prevented them returning results
when given data sets with unexpected patterns of missing data or missing factor
levels; the functions fixed include lme,
nlme,
gnls,
survexp,
acf,
factanal,
loess,
fac.design,
emCgm,
daCgm,
AIC (for
lm objects
when na.action="exclude") and
proj (for
aov
objects). Some modeling functions now return computations absent in previous
releases, including glm (which
now returns prior.weight for a
null model)
and print.arima (which
now prints the model and coefficients).
Accuracy:
Corrections have been made to the results of certain functions that could give
inaccurate results for certain arguments. These include glm
(corrected standard errors when family=binomial and
response specified as a vector of proportions), qt,
qf and
qbeta for
some extreme arguments, t.test
(correctly use pooled variance when appropriate), and ks.gof (for
very long x and
y
arguments).
Working
with Data Sources:
Importing and exporting from ODBC sources is now more reliable, especially when
using SQL queries. importData is now
more careful in its handling of time formats, field delimiters, and
user-specified starting rows.
Integration: Many
improvements have been made to the CONNECT/Java, CONNECT/C++ APIs and Automation
that allow S-PLUS to be called from or embedded in other applications, to
prevent crashes and to allow data to be passed back and forth reliably.
Improvements have also been made to the batch interface, to better support
command echoing and logging.
Graphical
User Interface: The
Windows GUI has been improved in several areas, to prevent hanging or crashes
when attempting to import from a data base with a very long SQL command, or
attempting to plot a data set with no column names. Cutting and pasting S-PLUS
graphics is now more reliable. Several dialog boxes (including Anova,
Robust LM, Discriminant Analysis, Continuous Grouped QC,
Loess, Restructure, Copy Column, Copy Row,
Import/Export from Database) now work correctly when certain options are
specified. Improvements have been made to the display of interactive graphics,
especially in handling of tick marks and trellis strips. Inappropriate "Access
Denied" and "Cannot Write File" errors that occured when attempting to save a
file have been eliminated. Also, several problems problems caused by a corrupted
.Prefs file (such as the infamous red-background bug) have been fixed.
Command-Line
Graphics:
Hanging problems with some command-line graphics functions (such as plot) that
occured when passed extremely large values have been resolved. Plotting multiple
timeSeries objects
is now more reliable, and the xlim and
ylim
arguments are now correctly handled.
For a
complete list of bugs fixed in this release, please refer to FIXEDBUG.TXT.
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.
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. (In Enterprise Developer,
this behavior is also true of the Big Data Viewer.)
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 occuring 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. The
following is an example using the recommended workaround:
sapply(
as.bdFrame(fuel.frame)[,-5], function(x) floor(x))
Enterprise Developer Known
Issues
· Big Data Library (Enterprise Developer only).
bd.data.viewer viewing
limitation:
bd.data.viewer does
not view bdTimeSeries
objects.
bdFrame(matrix)
is slower than as.bdFrame(matrix):
workaround is to use as.bdFrame(matrix) if
performance is an issue.
Big
Data glm models:
A list of the currently known issues:
·
The
gamma,
inverse.gaussian, and
user-defined families are not supported.
·
offset in a
formula is not supported.
·
The
following na.actions are
supported: na.omit, na.exclude, and na.fail.
· S-Plus Eclipse Workbench (Enterprise Developer only)
Color
scheme in Eclipse: In Eclipse, the color setting dialog
box does not include any color schemes. This means when you call java.graph from within the S-PLUS Workbench,
the color scheme settings are ignored.
Hidden
separate windows: When
you launch a graph window from the S-Plus Eclipse Workbench, it is
launched as a separate window application, and therefore can be hidden by the
Workbench window.
is.nan(x) and
is.infinite(x) now
return matrices if x is a
matrix. This matches the behavior of is.na(x).
is.finite(x) and
is.number(x) now
return meaningful answers if x is a
data frame, rather than just returning F for
every element.
sample()
is now generic. There is a data frame method that samples rows rather than
columns. There are methods for series objects and bigdata objects;
the
bdFrame method
also samples rows.
There
are new arguments:
n
sample from 1:n
(this avoids ambiguity)
minimal
This does two things:
1.
Uses
sampling "with minimal replacement" (with size > n).
2.
Uses
different algorithms, which are faster and give correct results when sampling
without replacement with unequal probabilities.
order
If F,
then output does not have to be randomly sorted (this helps speed, especially
for Big Data objects). For series objects, order=F
is the default, giving output in time order.
bigdata
If T
and sampling from 1:n,
return a Big Data object (Enterprise Developer only).
There
is a new function rsample
which does the core calculations for some sample()
methods, and may be called directly:
rsample
(n,
(other arguments like sample))
segments and
arrows have a
new argument (subset) to draw
only a specified subset of specified segments or
arrows.
segments has a
new optional argument (zero) to
prevent drawing zero-length segments.
matrix and
array now
prevent creation of matrices and arrays with illegal dimnames (wrong
number of dimensions of size or dimensions).
The
predict method
is now available for a small data arima.mle model
or arima data
objects (instead of arima.forecast).
predict.arima
standardizes arima.forecast,
especially with the new time series objects.
Many of
the trellis graphics functions now accept a big data object (class bdFrame) as the
data argument. Big data plots look a bit different than the plots made from the
equivalent data.frame:
plotting very large datasets results in a bounded amount of "ink" on the
plot.
For all
trellis graphics functions with data="bdFrame", if you
give a numeric variable on the right side of the vertical bar, it is converted
to a shingle using equal.count(x). You
can use the shingle.fun and
shingle.args
arguments to override this behavior. You cannot use equal.count()
explicitly in the formula.
To use
splom() with
data="bdFrame", you
must use a different syntax for the formula than you use with data.frames. The
syntax resembles that for modelling functions. ~. means
to plot all columns, ~.-Col2 means
to plot all but the one called "Col2", and
~.|GroupVar means
to split the data by the values in GroupVar and for
each subset plot all the variables except GroupVar.
Important
change in behavior: importData
argument default changed: separateDelimiters=T
Warning: Code
that calls importData to read
ASCII test files without specifying the separateDelimiters
argument may read different values. The importData
argument separateDelimiters
specifies how repeated consecutive delimiter characters are treated when reading
ASCII text files. If separateDelimiters=T,
repeated delimiters indicate columns with missing values. For example, reading a
line "1,,2" with a
comma as the delimiter reads three values, with the middle one as a missing
value. If separateDelimiters=F,
repeated delimiters are treated as one delimiter. This is most often used to
treat multiple blank spaces as a single delimiter. With this change in the
default, specify separateDelimiters=F when
reading files with blanks as the delimiter.
In
previous versions of S-Plus, the
handling of separateDelimiters when
this argument was not specified was confusing. If the argument is not specified,
it would be F, unless
the file name had an extension of "csv", in
which case it was T.
Now, the
default is simply specified as separateDelimiters=T,
without regard for the file name.
Import
change in behavior: importData has a
new argument: scanLines=256.
Default value of 256
lines
may not scan an entire ASCII text file to determine column types and
sizes.
Warning: When
importData reads
an ASCII text file, it needs to scan through some of the file first, to
determine the number of data columns, the column types, and the maximum sizes of
strings. In an early version of S-Plus, importData would
scan through the first 256 lines to determine this information. This could cause
problems if the first few rows contained different types of data than later
rows. For example, suppose a particular column in a file only contains integers
for the first thousand rows, and then contains arbitrary strings. After scanning
the first 256 rows, the column type would be detected as numeric, and imported
that way. The latter values that could not be parsed as numbers are read as
NA values.
To fix this problem, the behavior was changed to scan through the entire file
first to determine the column types. This is the safest approach, at the cost of
requiring an additional scan of the entire file, slowing down importData.
In this
release of S-Plus, importData has a
new argument scanLines,
specifying the number of lines that are scanned from an ASCII input file before
performing the import to determine the column name and types and widths. The
default value is scanLines=256, to
speed up importData for
large data files. This should work fine with most ASCII text files. To be
completely sure of handling cases where scanning the first 256 rows is not
enough, importData should
be called with scanLines=-1
specified, which means to scan the entire file first.
New
feature: importData has a
new argument: bigdata=F.
(Enterprise Developer only)
If
bigdata=F (the
default), importData returns
a data.frame, as in
previous versions. If bigdata=T,
importData reads
the data as a Big Data object, returning a bdFrame.
exportData does
not need a corresponding argument: It works whether its data argument is a
data.frame or a
Big Data object.
New
feature: importData has a
new argument: maxLineWidth=0.
This
argument is an integer giving the maximum line width expected when reading ASCII
text files. If a line is read that is longer than this value, an error is
signaled. The default of 0, or any
number less than 32768 is treated as 32768.
New
feature: importData has a
new argument: na.string="NA".
This
argument is a character string that is read as a missing value when reading an
ASCII text file. No matter what value is specified for this argument, an empty
string value is always read as a missing value.
New
feature:
exportData has a
new argument: na.string="".
This
argument is a character string that is written to an ASCII text file to
represent a missing value.
Change:
Default options("time.in.format")
changed
The
default value of options("time.in.format") has
been changed from
"[%m[/][.]%d[/][,]%y]
[%H[:%M[:%S[.%N]]][%p][[(]%3Z[)]]]"
to
"%m[/][.]%d[/][,]%y
[%H[:%M[:%S[.%N]]][%p][[(]%3Z[)]]]"
This
value is used by default when parsing strings as dates and times in the
timeDate
function, and when importing ASCII files with importData. The
old value caused some problems in importData, where
a column of digits could be incorrectly interpreted as a timeDate. With
the new default value, a timeDate string
must start with a month, day and year, so it is much less likely to be
interpreted incorrectly.
As a
result of this change, the default format no longer parses strings containing a
time without a date, such as "1:45pm".
If you must parse strings such as this, you can change the options value,
or you can specify it as the in.format
argument to timeDate, or the
time.in.format
argument to importData.
New
feature:
importData has a
new argument: colTypes=character(0).
This
argument is a character vector of column types to use for the imported columns
(after drop/keep). The
following values are supported: "numeric", "character", "factor", and "timeDate". Any
other values leave the corresponding column unchanged. Therefore, to read the
second imported column as a numeric column, one could specify colTypes=c("",
"numeric").
Columns whose types are specified as "character" or "factor" will be
converted to the specified type, overriding the value of the stringsAsFactors
argument for that column.
For the
most control when importing a column, one should give colTypes with
"character"
specified for the column, and explicitly manipulate and convert the character
values.
Change:
openData
arguments updated to conform to importData and exportData.
The
openData
function has the following new arguments that were added to importData and
exportData:
scanLines =
256
maxLineWidth = 0
na.string = if(openType=="read") "NA" else
""
colTypes = character(0)
In
addition, openData has
several new arguments that were previously available in importData and
exportData:
separateDelimiters =
T
time.format = ""
The
time.format
argument acts like the importData
time.in.format
argument when reading data, and the exportData
time.out.format
argument when writing data.
S-PLUS
7 release for Windows
is supported on the following platforms:
· Windows 2000
· Windows XP Home Edition
· Windows XP Professional Edition
· Windows 2003 Server running on Intel platforms
The minimum recommended
system configuration is Pentium III with 512MB of RAM. You must have at least
450MB 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).
Do NOT install this release
over any existing version of S-Plus. Instead, designate a clean
installation directory for S-PLUS
7, and proceed with the
Setup program as described below.
The instructions in this
section apply to all single-user versions of S-PLUS
7. Consult
the Installation and Administration
Guide (admin.pdf) in the
top-level directory on the installation CD for information on all other
licensing options (including concurrent and Terminal Services) 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. 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. |
1.
Insert
the CD into the CD-ROM drive.
2.
If
your system has CD-ROM AutoPlay enabled, the S-PLUS
7 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.
3.
The
S-PLUS
7 Setup window
appears.
4.
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
7, in particular virus
checkers and screen savers.
5.
During
installation, you are prompted for your S-PLUS
7 serial
number.
All editions of S-PLUS 7
(including desktop) are now licensed managed by FLEXnet, and require 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 (if you have it) when prompted, and a license key is
automatically generated (if you have an Internet connection) and stored in your
SHOME/adm/lic/keys directory by
default. If you don’t know where your LAC is located, contact Technical Support.
To add or remove parts of
S-PLUS
7 from your system,
select the Add/Remove Programs icon in the Control Panel. Choose
S-PLUS
7 from the list of
installed programs, and then click the Change/Remove button. Once in the
S-PLUS
7 Setup program, select
the Modify option. Use the tree of components provided to add (select) or
remove (clear) parts of S-PLUS
7.
To uninstall S-PLUS
7, select the
Add/Remove Programs icon in the Control Panel. Choose S-PLUS
7 from the list of
installed programs, and then click the Change/Remove button. Once in the
S-PLUS
7 Setup program, select
the Remove option.
After installing
S-PLUS
7, the S-PLUS
7 program group appears
as an option under Programs when you click the Start button. The
S-Plus program group contains the
following options:
· S-Plus Console starts the command-line application only.
· S-Plus Workbench starts the S-Plus plug-in for the Eclipse IDE. (Enterprise Developer only)
· S-Plus BATCH starts a non-interactive session of S-Plus.
· S-Plus starts the full GUI application.
· Wizard for License Manager starts the wizard that prompts you for a license authorization code. This generates a license key, which is automatically installed, and allows you to run S-Plus.
1.
From
the Start menu, choose Programs.
2.
Choose
the S-PLUS 7.0 program
group.
3.
Choose
S-Plus.
1.
From
the Start menu, choose Programs.
2.
Choose
the S-PLUS 7.0 program
group.
3.
Choose
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.
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, or pressing the F1 key while
S-Plus is active.
In S-PLUS
7, 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
7 is built with
Microsoft VC++6.0 and Compaq/DEC FORTRAN 6.0. All samples shipped with
S-PLUS
7 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 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"
We are very interested in receiving
information on possible bugs and usability enhancements from all users in this
release. Please send any feedback to:
General
information about this release of S-PLUS is available at:
www.insightful.com/support/splus70win
The list of S-Plus Frequently Asked Questions is
available from: