Release Notes for TIBCO Spotfire S+ 8.1 for UNIX/Linux (NOVEMBER 2008)

Supported Platforms and System Requirements
Overview of Spotfire S+ 8.1  
What's New in Spotfire S+ 8.1
Improvements in Spotfire S+ 8.1
Known Issues in Spotfire S+ 8.1 
R Compatibility
Module Support
Running Spotfire S+ 
Using Spotfire S+ for Solaris/Linux from a Windows Desktop 
Getting Help in Spotfire S+
Technical Support
Appendix: New Objects and Data Sets

SUPPORTED PLATFORMS AND SYSTEM REQUIREMENTS

You can use Spotfire S+ 8.1 on the following Linux 
and UNIX-based platforms:

   -Red Hat Enterprise Linux WS 4.0 and 5.0 (32-bit) 
   -Red Hat Enterprise Linux WS 4.0 and 5.0 (64-bit) 
   -SUSE Linux Enterprise 10 Service Pack 2 (32 bit) 
   -SUSE Linux Enterprise 10 Service Pack 2 (64 bit) 
   -Solaris versions 8, 9, and 10 (32-bit) 


OVERVIEW OF Spotfire S+ 8.1

S-PLUS is now TIBCO Spotfire S+. For more information on 
this change, please visit http://spotfire.tibco.com/iful.

This version of Spotfire S+ introduces new packages, 
expanded package features, and improvements to the Spotfire S+ 
language, the Big Data library, and other libraries. We have 
added features to support working remotely with the Spotfire 
S+ Server. Also, we have updated third-party 
components, such as Java and Eclipse.

These release notes are intended to provide you with a 
high-level view of changes. We encourage you to read more 
detailed descriptions of the new and changed features 
in the Spotfire S+ documentation.


WHAT'S NEW IN Spotfire S+ 8.1

**Packages
* New resample Package
Spotfire S+ now offers the new resample package, which was previously 
available as a package from CSAN or from the Insightful research 
download site. The package is now included with Spotfire S+ 8.1. 
To load the package, use library(resample).

*New sjdbc Package
The sjdbc package, formerly available on CSAN, now ships with Spotfire S+. 
The sjdbc package provides an interface to databases using Java's 
JDBC connectivity. For more information, from the Spotfire S+ prompt, type 
   library(sjdbc)
   help(sjdbc)

*New rtftools Package
The rtftools package contains Spotfire S+ functions for writing out RTF files, 
including initialization, writing paragraphs, modifying text styles, writing
tables, and writing WMF files to RTF. See the file RTFCodeExample.ssc 
for examples of some of the package functionality.


The Wavelets, Environmental Statistics, and Spatial Statistics modules 
are now included with core Spotfire S+ as packages.  Environmental 
Statistics module is now included with Windows.

--To load Wavelets, use library(wavelets). 
--To load Environmental Statistics (on Windows) use library(envstats). 
--To load Spatial Statistics, use library(spatialstats). (Note that 
  typing library(spatial) loads the spatial package, not the 
  Spatial Statistics package.) 

*New Sweave Package
Spotfire S+ now offers on the CSAN Website (http://spotfire.tibco.com/csan) 
the Sweave package. Sweave is a convenient way for package authors 
to integrate Spotfire S+ code and Latex documentation for vignettes, 
analyses, and reports. 

* New FlexBayes Package
Spotfire S+ now offers the FlexBayes package on Windows. FlexBayes 
provides tools for modeling data using the Bayesian paradigm for 
statistical inference. Bayesian modeling offers the following advantages 
over classical or frequentist modeling:

  -Uses more realistic models with many parameters. 
  -Provides a natural way to integrate out nuisance parameters, 
   or missing data. 
  -Quantifies uncertainty about model parameters in terms of a 
   posterior probability distribution, which combines information 
   from prior understanding and observed data. 
  -Provides a computational advantage of using priors to stabilize 
   computation in ill-defined problems (for example, too many variables 
   relative to the number of cases). Among other advantages, it helps 
   with collinearity. 

* Finding, Updating or Exporting Packages in the Spotfire S+ Workbench
The Spotfire S+ Workbench now has user interface support for finding packages 
from a Web server (via URL) or from a specified local repository. It also 
provides support for updating packages that you currently have on your 
system and support for exporting a package. See the Spotfire S+ Workbench 
User's Guide for more information.

* Creating Spotfire S+ GUIs for Packages
The Guide to Packages is updated to include information about creating 
Spotfire S+ graphical user interfaces for packages on Windows. The pkgutils
package has been enhanced to support building these on Windows.

* Support for Remote Script Execution
The Spotfire S+ Workbench now supports sending a remote script request to a 
Spotfire S+ Server. Using the interface provided in the Workbench, 
you can send:

  --The contents of a script currently open in the Spotfire S+ Script Editor. 
  --A portion of the script, which is selected in the Spotfire S+ Script Editor. 
  --The script that you type in the text box in the user interface. 

You must have access to a Spotfire S+ Server to use remote script 
execution. For more information about using this new feature, see the 
Spotfire S+ Workbench User's Guide. 

*Support for Association Rules ("Market Basket Analysis") in the 
 Big Data Library
The Big Data library now includes three functions: 
--bd.assoc.rules() 
--bd.assoc.rules.get.item.counts() 
--bd.assoc.rules.graph() 

These functions support finding interesting association rules for 
transactions. See their Help files and the Big Data User's Guide 
for more information.

OBSOLETE AND DEPRECATED FEATURES AND FUNCTIONS

The underscore assignment operator (for example, x_1:10) is deprecated 
  in this version of Spotfire S+. Use "<-" or "=" instead. 

In Spotfire S+ 8.1, support for the Java Remote Method Invocation 
  (RMI) is deprecated. If you use RMI for sending remote calls to 
  the server, please see the API documentation for the Spotfire S+ 
  Server. The Spotfire S+ Server offers C#, Java, URL, and JavaScript 
  APIs. 

Java-based GUI deprecated in Spotfire S+ 8.1
  In Spotfire S+ 8.1, the Java-based GUI is deprecated. If you want to use a 
  GUI with Spotfire S+ for UNIX/Linux, use the Spotfire S+ Workbench.

The For() function is deprecated in Spotfire S+ 8.1; it is obsolete (that is, 
  will not work) in the Spotfire S+ Workbench. NOTE: Do not confuse this 
  with for().)

The commandArgs() function was removed. 

The 'slynx' program, used by the help() function to display HTML help files 
  on UNIX/Linux, is no longer distributed with Spotfire S+. You can download 
  it separately as part of the 'pkgutils' package (using the install.pkgutils() 
  function) and then help() will use it. If you cannot download pkgutils, 
  then help() will try to use one of 'lynx', 'links', 'less', or 'more' to 
  view HTML help files, although none of them work as well as slynx. To try 
  another text-based HTML browser, set options(help.pager="yourBrowser"). 

IMPROVEMENTS IN SPOTFIRE S+ 8.1

For a list of bugs fixed since the last release (Spotfire S+ 8.0.4), see 
the file FIXEDBUG.TXT in the SHOME/doc directory of your 
installation.

For a list of issues you might encounter as a result of improvements 
to Spotfire S+, see the section "Backwards Compatibility Considerations 
in Spotfire S+ 8.1."


* JRE Updated for Spotfire S+ 8.1
Spotfire S+ now ships with version 1.6 of the JRE.

* java.graph() now interprets file extension
In previous versions of Spotfire S+, java.graph required the format argument 
for file types other than JPEG. Now, if you specify a file extension in 
the file argument, java.graph() interprets that extension to produce the 
specified format. If no extension, or an unsupported extension is 
specified, java.graph() defaults to JPEG.

* Multiple Random Number Generators Now Supported
Spotfire S+ now includes the function RNGkind() for specifying the type of 
random number generator to use. Also, Spotfire S+ supports using the 
Mersenne-Twister random number generator. See the RNGkind Help file for 
details.

* Changes and Updates to the Spotfire S+ Workbench
--The Spotfire S+ Workbench has been upgraded to Eclipse version 3.4 and maintains 
  backward compatibility for Eclipse versions 3.2 and 3.3. As a result of 
  this change, the Spotfire S+ Workbench is easier to use as an Eclipse plug-in. 
  (Set the Java option splus.home in your Eclipse installation.) 
--The Spotfire S+ Workbench now provides code completion support for function 
  names and function arguments in both the Script Editor and the Console 
  view. 
--The Spotfire S+ Workbench now provides the option of displaying output in the 
  Console view, rather than the Output view. 
--You can now set environment variables to work with the Spotfire S+ Workbench. 
  For more information about available environment variables, see the 
  Application Developer's Guide. 
--You can set the Spotfire S+ Workbench graphics display to open or close multiple 
  tabbed graph windows programmatically using the new Spotfire S+ function 
  java.new.plot.action. (Previously, to change to or from tabbed graphics, 
  you had to use the Graph Options dialog.) 

For more information on using these new features, see the Spotfire S+ Workbench 
User's Guide.

*Changes to the Big Data Library
--Bigdata library performance and memory improvements: 
    <bdFrame>$newcol <- newvals is now faster. 
    bd.unique(): Now uses less memory. 
    bd.univariate(): Now much faster when calculating only cached values 
       like mean, min, and max. Performs faster quantile calculation. 
    matrix(<bdVector>, byRow=F): Now uses less memory and is faster. 
    rep(1,1e7,bigdata=T): Now much faster. 
    rep(<bdVector>,<bdVector>,bigdata=T): Now much faster. 
    bdFrame(Col=<long vector>): Now uses less memory.

--New Big Data utility functions (All documented in the Help): 
    bd.object.info(): Use for examining a bdVector or bdFrame. 
    bd.tally(): Use to measure internal Big Data operations. 
    bd.cache.temp.dir(): Use to set the temporary cache file directory. 

--Bigdata function changes: 
    bd.block.apply():
     -new output list element "out.object", documented in 
      the Help.
     -improved documentation of "args" argument in Help. 
    bd.remove.missing(): if key.columns is not given, 
     methods="last" uses the previous row value. 
    bd.univariate(): fix calculated values of mode, quantile. 
    bdFrame, as.bdFrame: handle AsIs and model.matrix objects. 
    importData(): Has a new argument colStringWidths (used only 
     when bigdata=T). 
    The function ifelse() now works with Big Data.

* Spotfire S+ now contains discrete distribution functions.
The following functions have been added to Spotfire S+ to provide density, 
cumulative probability, quantiles, and random generation for a discrete 
distribution. See their help topic for more information.
   ddiscrete() 
   pdiscrete() 
   qdiscrete() 
   rdiscrete() 

* New Functions and Updates to Spotfire S+
   -Spotfire S+ now includes the isTRUE() function. 
   -Spotfire S+ now includes a tempdir() function, which returns the 
    name of the directory in which temporary files will be made. 
   -summary.lm() now can output the adjusted multiple R-squared 
    statistic for the model. 
   -Spotfire S+ now includes a rect() function, like R's 
    rect() function. 
   -preplot.gam() has been modified to allow plot.gam to work 
    with choxph models that contain pspline terms. 
   -Package functions now allow type="binary". 
   -By default, data.dump() now writes to "dumpdata.sdd" instead 
    of just "dumpdata", and dump() now writes to "dumpdata.q" 
    instead of just "dumpdata". 
   -The following functions now have arguments weights 
    and freq: 
       -hist() 
       -qqnorm() 
       -qqline() 
       -quantile() 
   -The functions mean(), median(), and tabulate() now contain 
    the weights argument. 
   -The functions for determining the number of bins 
    (nclass.fd(), nclass.scott(), and nclass.sturges()) now 
     contain the freq argument. 
   -The function library() now contains the dependencies 
     and warn.conflicts arguments. 
   -The first argument to ltsreg() and lmsreg() is now 
    called formula instead of object. 
   -Spotfire S+ now supports importing SAS files created 
    using PROC CPORT. 


KNOWN ISSUES IN Spotfire S+ 8.1

* Branding Update  
In this version, you might see inconsistencies in product 
names, images, and branding as we migrate to our new name 
and identity. We appreciate your patience as we work though 
the name and branding processes.


* 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 Spotfire S+ 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 Spotfire S+, 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. 


BACKWARDS COMPATIBILITY CONSIDERATIONS IN Spotfire S+ 8.1

If you are upgrading from S-PLUS version 8.0 to Spotfire 
S+ 8.1, the following items do not apply; however, certain 
improvements to Spotfire S+ 8.1 might result in scripts written 
for versions of S-PLUS prior to 8.0 not working as expected. This 
is especially true for workarounds for pre-existing issues, or for 
the new graphics enhancements.

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.

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 Spotfire S+ 8.1, 
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 
issues, you could encounter problems importing data in Spotfire S+ 8.1.

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

R COMPATIBILITY

* aggregate.rts() has changed and new arguments for R compatibility.
Previously, aggregate.rts() was defined as follows:

     aggregate(x, nf=1, fun=sum, ndeltat=1)

Now, it is:

     aggregate(x, nfrequency=1, FUN=sum, ndeltat=1, ts.eps = .Options$ts.eps, ..., fun)

For more information, see its help file.

* Logical values have changed for R compatibility.
Logical values are now printed as TRUE and FALSE, not T and F. 
(Note that Expressions involving T and F still print them as T 
and F, because they are stored by name, not by value, in 
expressions.)


MODULE SUPPORT

Spotfire S+ 8.1 supports the following Spotfire S+ modules. For module version 
information, see the module's release notes in the SHOME/module/modulename, 
where SHOME is your installation directory.


Module  		Platform

S+FinMetrics		Windows, Solaris,
			Linux 32/64-bit

S+NuOpt 		Windows, Solaris,
			Linux 32/64-bit

S+SeqTrial		Windows

GETTING HELP IN Spotfire S+

To get help on a particular function, use the help() or ? functions. 
The help system contains online help files for all the Spotfire S+ 
libraries that are attached at startup; help files for other 
libraries are available after the libraries are attached.

These manuals are also available as Adobe Acrobat PDF files in 
$SHOME/doc:

Book Name                              File name

Spotfire S+ 8 Application Developer's       adg.pdf
Guide      

Spotfire S+ 8 Big Data Library              bigdata.pdf
User's Guide                           

Spotfire S+ 8 Function Guide             functionguide.pdf

Spotfire S+ 8 Guide to Graphics	       graphics.pdf

Spotfire S+ 8 Guide to Packages          spluspackages.pdf

Spotfire S+ 8 Programmer's Guide            pg.pdf

Spotfire S+ 8 Guide to Statistics,          statman1.pdf
Volume 1                               

Spotfire S+ 8 Guide to Statistics,          statman2.pdf
Volume 2                               

Spotfire S+ 8 User's Guide                  uguide.pdf


USING Spotfire S+ FOR SOLARIS/LINUX FROM A WINDOWS DESKTOP

Solaris/Linux versions of Spotfire S+ may be accessed remotely from a 
Windows desktop using X-server software for displaying graphics. 
Spotfire S+ has been tested with the following products:

  Exceed (Hummingbird)
  Reflection X (WRQ)
  X-Win32 (StarNet)

The graphical user interface (GUI) performance of Spotfire S+ depends 
upon the X-server software. The performance of the underlying Spotfire S+ 
engine is not affected. The following notes describe configurations 
that have been found to produce the best results. No significant 
issues were noted. Following are some observations that pertain to 
X-Win32.

When using some versions of X-Win32 to start-up X-applications on 
your desktop, we have found that the "multiple windows" setting 
causes some latency in GUI response and some defects in displaying 
GUI elements. We recommend running in "single window" mode. If you 
are connecting with XDMCP, then running in "single window" mode 
should present you with a default window manager from which you may 
run Spotfire S+. If you are connecting with rsh or rexec in "single window" 
mode, the application may be displayed in a "raw" X-session that 
lacks a window manager. We recommend that you start the Solaris  
default window manager (/usr/dt/bin/dtwm) using either the X-Win32 
"Command" option, or from an xterm on the Solaris host. Once the 
window manager has been launched, the Spotfire S+ application should run 
and display successfully.

NOTE that the Spotfire S+ GUI on UNIX/Linux is deprecated in this version.

TECHNICAL SUPPORT

For technical support, please visit http://spotfire.tibco.com/support and register for a support account.


APPENDIX: NEW FUNCTIONS IN SPOTFIRE S+ 8.1

bd.assoc.rules
     Generates association rules.
bd.assoc.rules.get.item.counts
     Counts association rule items.
bd.assoc.rules.graph
     Creates a plot of a set of association rules.
bd.cache.temp.dir
     Sets and retrieves the directory used for creating temporary cache files.
bd.object.info
     Extracts internal information about a bdFrame or bdVector object.
bd.run.iminer.worksheet
     From the Spotfire S+ Server, runs an Insightful Miner worksheet in batch mode.
bd.tally
     Measures internal Big Data operations.
combinations
     Returns all combinations or permutations of size k elements out of n.
combn
     Generates combinations of m elements out of x.
contentsData
     Gets the names of all data sets, sheets, or tables in a specified data file or database. 
ddiscrete
     Gets the density for a discrete distribution.
emf.graph
     Creates an enhanced metafile file.
groupAlls, groupAlls.data.frame, groupAlls.default
     Computes group sums, means, variances, standard deviations for a vector or columns of an array.
groupAnys, groupAnys.data.frame, groupAnys.default
     Computes group sums, means, variances, standard deviations, or other summaries for a vector or columns of an array.
groupMaxs, groupMaxs.data.frame, groupMaxs.default
     Computes group max for a vector or columns of an array.
groupMeans, groupMeans.data.frame, groupMeans.default
     Computes group means for a vector or columns of an array.
groupMins, groupMins.data.frame, groupMins.default
     Computes group mins for a vector or columns of an array.
groupProds, groupProds.data.frame, groupProds.default
     Computes group products for a vector or columns of an array.
groupRanges, groupRanges.data.frame, groupRanges.default
     Computes group ranges for a vector or columns of an array.
groupStdevs
     Computes group standard deviations for a vector or columns of an array.
groupSums, groupSums.data.frame, groupSums.default
     Computes group sums for a vector or columns of an array.
groupVars, groupVars.data.frame, groupVars.default
     Computes group variances for a vector or columns of an array.
isTRUE
     Test for logical object of length one with value TRUE.
java.new.plot.action
     Java graphics action on a new plot. (spjava package)
packageDescription
     Gets the description of the specified package.
panel.hexbin
     Panel function for hexbins
panel.hexbin.lmline
     Panel function for hexbins
panel.hexbin.loess
     Panel function for hexbins
panel.hexbin.smooth.spline
     Panel function for hexbins
pdiscrete
     Gets the cumulative probability for a discrete distribution.
permutations
     Returns all combinations or permutations of size k elements out of n.
qdiscrete
     Gets the quantiles for a discrete distribution.
rdiscrete
     Gets the random generation for a discrete distribution.
rect
     Draws and shades rectangles
RNGkind
     Sets and inspects the state of the random number generator.
strwrap
     Wraps character strings for paragraph formatting.
subtractMeans
     Subtract group means from each entry for a vector or columns of an array.
Sys.setenv
     Sets environment variables for use by other processes called from S-PLUS. 
tempdir
     Returns the name of the directory in which temporary files will be made. 
write.dcf
     Reads and writes data in DCF format.






