The Academic Site Edition of S-PLUS 6 for Windows is a full copy of S-PLUS 6 Professional Edition. It is intended for customers at university and college campuses that have academic site licenses with Insightful Corporation. This software expires one year after the date of initial installation.
These Release Notes are current as of August 29, 2001. For updates to the Release Notes that are made after this date, please see the Web site www.insightful.com/support/spluslatest.html.
This service release of S-PLUS 6 addresses some problems and concerns that were identified or corrected since S-PLUS 6 Release 1. In particular, numerous issues were addressed regarding the design and organization of the S-PLUS 6 help system, including the following:
Asking for help by selecting Help > Available Help > S-PLUS Help displays the left pane of the help window. The Contents, Index, and Search tabs are for the S-PLUS GUI help files.
Asking for help via the ? or help functions in the Commands window does not display the left pane of the help window. If you click Show, the left pane appears and displays the Contents, Index, and Search tabs for the S-PLUS Language Reference.
Asking for help by clicking on the Help button in an S-PLUS dialog does not display the left pane of the help window. If you click Show, the left pane appears and displays the Contents, Index, and Search tabs for the GUI help files.
This service release also includes the following new features:
Release Notes for S-PLUS 6 Academic Site Edition for Windows (July 2001)
This file contains the following information:
About this Release
Contact Information for Feedback
Supported Platforms and System Requirements
Interfacing with C and Fortran Code
Changes to Pattern-Matching Functions
Other Known Backward Compatibility Issues
ABOUT THIS RELEASE
This release of S-PLUS 6.0 for Windows is a full 32-bit Windows application with an Office 97/2000-compatible graphical user interface. Before you get started, you should notice that the working data in this version of S-PLUS is stored in a .Data directory, rather than the _Data directory used in earlier versions. Similarly, the audit file is now named .Audit instead of _Audit, and the preferences directory is now named .Prefs instead of _Prefs.
The help system in S-PLUS 6.0 uses Microsoft’s current help standard, HTML Help, and contains help for both the graphical user interface and the S-PLUS engine.
For a complete tutorial of this release, see the guide Getting Starting with S-PLUS 6 for Windows. You can access this document by selecting Help > Online Manuals > Getting Started Guide from the main S-PLUS menu.
OVERVIEW OF S-PLUS FOR WINDOWS VERSION 6.0
This release of S-PLUS for Windows incorporates the S Version 4 engine used in S-PLUS 5 and later for UNIX. This engine includes specific features to add or extend S-PLUS capabilities in the following areas:
1. Performance Improvements and Large Data Sets
Passing an object as an argument to a function no longer requires copying the object until it is modified in the function body. This means that large objects can be passed into functions and subfunctions without consuming the time and memory required to copy the object. This makes many programs run faster, especially when dealing with large objects. This benefit arises because S-PLUS 6 objects are reference-counted, meaning that identical versions of objects across evaluation frames require only one physical copy in memory. Other than providing speed and memory improvements, reference counting does not change the fundamental way functions and objects behave.
Despite these performance improvements, reference counting may cause some rapidly iterating loops (that do little more than call a single function to perform a mathematical computation on a small amount of data, for example) to run slower in S-PLUS 6 than in S-PLUS 2000. In this situation, S-PLUS spends more time setting up function calls at each iteration than doing the computations. Such loops are better handled with other techniques such as vector arithmetic and matrix algebra, where there are usually only one or two function calls.
The apply function has also been improved. It now runs faster and uses less memory when operating on matrix arguments. The benefits are most noticeable when dealing with large matrices.
Functions have been added that allow external data files to be imported in sequential blocks, so that all of the data are not in memory at the same time. This allows you to write algorithms that process data files in small "chunks", a useful technique for dealing with data files of size that greatly exceeds the available memory. See the online help for readNextDataRows for information.
The method-dispatching mechanism has been completely overhauled.
New functions provide more extensive support for creating classes and methods.
It is possible to manipulate all S-PLUS classes from C code using the new .Call function.
CONNECT/C++ can also simplify the task of developing S-PLUS modules. C++ programmers can use CONNECT/C++ classes and methods to manipulate S objects passed from the .Call interface. CONNECT/C++ also provides tools for interfacing to the S interpreter from inside .Call.
The source code for this library is available in the \sconnect folder of your S-PLUS home directory.
The memory.size function works the same way on NT, Windows 2000, and UNIX.
The format of dates is controlled
by the options time.in.format
and time.out.format
for input and display, respectively. You can specify these formats in your
S-PLUS session using either the options
function or the Data page of the Options > General Settings
dialog. You can specify formats for data that you import (export) by using
the time.in.format
(time.out.format)
argument to the importData
(exportData)
function; a field also exist for this purpose in the Import Data
(Export Data) dialog.
The format options for dates
are set by default according to Windows Regional Settings. The option time.zone,
which controls the default time zone of new timeDate
objects, is also set automatically by default. To set these options so
that they are equivalent to the default values in S-PLUS for UNIX, add
the following expression to your S.init file:
These options persist from session to session for each project.
To prevent them being reset at the beginning of each session according
to the Windows Regional Settings, clear the two Date/Time Format
check boxes in the Startup page of the Options > General Settings
dialog.
You can create chapters from either the S-PLUS Commands window or in a DOS shell. You can also create chapters from within the Microsoft Visual Studio using special Chapter Wizards installed during S-PLUS setup. See the Creating and Managing Chapters help for more information.
For details on any of these
new capabilities, see the chapter "Writing Functions in S-PLUS" in the
Programmer's
Guide.
WHAT'S NEW IN S-PLUS 6.0
In addition to the SV4-specific features mentioned in the Overview, the following are new to S-PLUS 6.0 for Windows:
The PowerPoint Presentation Wizard can now export multiple pages from a single graph sheet into PowerPoint. Thus, it is no longer necessary to save each page to disk before exporting them.
You can now tell S-PLUS not to convert character data to factors when creating data frames. To do this, set the stringsAsFactors argument in the data.frame function to FALSE. Alternatively, you can set the global option stringsAsFactors to FALSE via the options function; this affects all character vectors and matrices created from the command line, as well as data frames.To ensure similar conversions for data entered in the GUI, select Options > General Settings, click on the Data tab, and set the Default Text Col. to character. This GUI option affects new data entered into Data windows, and persists from session to session within a particular project.
To prevent S-PLUS from converting character data to factors upon import, set the stringsAsFactors argument in the importData function to FALSE. Alternatively, deselect the Strings as factors option in the Import From File dialog.
S-PLUS 6.0 includes a new Robust Statistics library, which contains the following functionality:You can see full documentation for the library by selecting Help > Online Manuals > Robust Library. To begin using this library, either type the command library(robust, first=T) at the S-PLUS command line or choose File > Load Library from the S-PLUS menu.
- Improved robust regression for the linear model
- Robust ANOVA
- Robust Poisson and logistic generalized linear models
- Robust covariance and correlation matrix estimation
- New plots for outlier detection and comparing fits
- New multiple model fits and comparisons paradigm
S-PLUS 6.0 also includes a new Missing Data library, which contains software for handling missing data in S-PLUS. The library uses a model-based approach, with models fit by EM and data augmentation (Gibbs sampler) algorithms. The data augmentation algorithms produce multiple imputations; users may also use their own routines for creating multiple imputations.The Missing Data library includes capabilities for performing arbitrary analyses "in parallel" on multiple completed data sets. Numerical results can also be combined in ways that reflect the additional uncertainty due to missing data.
You can see full documentation for the library by selecting Help > Online Manuals > Missing Data Analysis Library. To begin using this library, either type the command library(missing, first=T) at the S-PLUS command line or choose File > Load Library from the S-PLUS menu.
S-PLUS 6.0 includes the following new statistics functions:In addition, the following new functions allow you to efficiently compute row-wise or column-wise descriptive statistics: colMeans, colSums, colVars, colStdevs, rowMeans, rowSums, rowVars.
- skewness, for computing the skewness of a numeric object.
- kurtosis, for computing the kurtosis of a numeric object.
- durbinWatson, for computing the Durbin-Watson test statistic. This statistic is used to test for first order autocorrelation in regression residuals.
- shapiro.test, for computing the Shapiro-Wilk W-statistic. This well-known statistic is used to test a data set for departures from normality.
S-PLUS 6.0 includes the following new graphics functions:New options have also been added to the Box Plot dialog. The Box Specs page of the dialog now includes options for controlling the direction, whisker style, and limit style of your box plots. As a result, you can create horizontal box plots from the GUI. To create a box plot, choose Graph > 2D Plot > Box Plot or Graph > 2D Plot > Horiz. Box Plot from the S-PLUS main menu. You can access both types of box plots via the 2DPlots palette.
- Pareto plots. Vertical Pareto plots assume categorical data on the x axis, and horizontal plots assume categorical data on the y axis. To create a Pareto plot, choose Graph > 2D Plot > Pareto Plot or Graph > 2D Plot > Horiz. Pareto Plot from the S-PLUS main menu. You can also access vertical Pareto plots via the 2DPlots palette; horizontal Pareto plots are accessible via the ExtraPlots palette.
- Probability plots. To create a probability plot, choose Graph > 2D Plot > Probability-Probability Plot. You can access normal probability plots via the 2DPlots palette; regular probability plots are accessible via the ExtraPlots palette.
Axes in GUI plots for date variables have been improved. They now choose calendar-based tick marks based on the days, weeks, months, quarter, or years spanned by the data. To use regularly-spaced tick marks as in S-PLUS 2000, open the Axis property dialog and modify any property in the Range page.
Minor tick marks are now included by default on x and y axes in GUI plots. This improves the appearance of date and log-scale axes, but decreases the data-to-ink ratio slightly. To remove minor tick marks, open the Axis property dialog and set the Minor Tick length to 0 on the Grids/Ticks page.
The main functions for importing and exporting data from the command line are now called importData and exportData instead of import.data and export.data. The older functions remain in S-PLUS 6.0 for backward compatibility. The following file types are now supported:The new functions support importing and exporting data via ODBC using arguments similar to those in import.data and export.data (i.e., odbcConnection and odbcSqlQuery).
- Access 2000
- dBase *.dbf
- FoxPro *.dbf II, II+, III, and IV
- Gauss96
- Matlab 5
- Minitab workbooks
- Quattro Pro *.wb2 and *.wb3 worksheets
- SAS 7, 8, *.ssd01, and *.ssd04
- Systat
The following functions are new in S-PLUS 6.0: as.rectangular, as.char.rect, is.rectangular, sub, numRows, numCols, rowIds, and colIds. This suite of functions allows you to access all rectangular data objects (matrices, data frames, and atomic vectors) in the same way. With these functions, specific class conversions between these types of data objects are no longer necessary.
The new substring<- function can be used to replace portions of a character string.The unpaste function splits a character string into a list of strings according to a given separator. For example, the command unpaste(getenv("SHOME"), sep=":") separates your SHOME variable by folder and drive letter.
The postscript graphics device has changed significantly in this release. For details on the new arguments implemented, see the help file for postscript.
A low-resolution world database for the maps library, named world.thin, is included with S-PLUS 6. A high-resolution database named world is available with a Custom installation. These databases allow you to generate a map of any country in the world. For example, the command map("world.thin","canada") generates a map of Canada.
The Object Explorer has been enhanced in S-PLUS 6.0. It is now much faster and can deal with large numbers of displayed objects in a memory-efficient manner.The Object Explorer toolbar button now toggles the default Object Explorer on and off instead of always creating a new Object Explorer. To create a new Object Explorer in S-PLUS 6.0, select File > New > Object Explorer from the main menu.
The Object Explorer now includes the SearchPath object by default. The SearchPath is expandable, allowing you to look into attached chapters and manipulate objects. You can copy objects between chapters via drag-and-drop and you can move objects from one chapter to another by cutting and pasting.
You can also use the SearchPath object to manage the chapters in your search path. To attach a new chapter, right-click on the SearchPath object and select Attach Chapter from the context-sensitive menu. To detach or modify the read/write properties of a chapter, right-click on it and select the appropriate entry from the menu. These facilities are also available from the File > Chapters menu.
The Object Explorer now has the ability to display objects in different databases that share the same name. Objects that are masked by another object of the same name earlier in the search path are displayed with a red "X" over their icon. This gives you a visual alternative to the masked function.
By design, the components of some objects are hidden from view in the Object Explorer. For example, lm model objects appear only in the right pane of the Object Explorer. Thus, you cannot expand such objects in the left pane to access their individual components. Instead, you interact with them by right-clicking on the object and selecting the appropriate method from the menu (i.e., Plot, Summary, Predict, or Coefficients). This change was introduced in S-PLUS 2000 Release 3. S-PLUS 6 introduces a new feature to the context menu named Expand; by right-clicking on an object in the right pane of the Object Explorer and selecting Expand, you can move it to the left pane and expand its components as if it were an ordinary list. This new feature is available when you view objects in databases under the SearchPath, and is not available when you view them in regular project folders such as Data.
To make the Object Explorer easier to use, two redundant features have been removed. The Page selector at the top of the right pane is now gone; instead, use the scroll bar to page through a list of objects. The Match tool at the top of the left pane has also been removed; instead use the Find Objects button in the ObjectExplorer toolbar to search for objects that have names matching a specific pattern.
If enabled during installation, S-PLUS now prompts you for a project directory when it launches. The chosen project directory is used as the chapter attached in position 1 of your search path. This feature makes it unnecessary to explicitly set the environment variable S_PROJ. To enable this option while in S-PLUS, check the Prompt for project folder box in the Startup page of the Options > General Settings dialog.Workspaces, which were introduced in S-PLUS 2000 as both a project management and a window management tool, have been replaced in S-PLUS 6 by the chapter tools found in the File > Chapters menu. To access objects from an S-PLUS 2000 workspace, use the File > Chapters > Attach/Create Chapter dialog, which adds the workspace folder to your search path. Alternatively, you can use the File > Chapters > New Working Chapter to replace the database in position 1 of your search path with a new or existing chapter; if you select an S-PLUS 2000 workspace folder, you are prompted to run it though the Migration Wizard first. See the Backward Compatibility section below for information on using old S-PLUS objects in a valid S-PLUS 6 chapter.
When attaching an S-PLUS 6 chapter, either with the Attach/Create Chapter dialog or the attach function, specify the chapter folder and not the .Data folder contained within it. However, to attach an S-PLUS 2000 database, specify the _Data folder for the database. Note that S-PLUS 2000 databases cannot be attached in position 1 of your search path. Be sure to read the section Using Data Objects From S-PLUS 2000 or Earlier below before attempting to access any of your S-PLUS 2000 databases in S-PLUS 6.
S-PLUS 6.0 includes an Update Versions tool, which checks the www.insightful.com Web site for new releases and allows you to download and install patches. This tool is not functional in the Academic Site Edition of S-PLUS 6.17. Enhanced Grid Editor
The Grid Editor now supports a wider variety of object classes. In addition to the classes "vector", "matrix", "ts", "its", "cts", "rts", "data.frame", and "data.sheet", you can now view objects of class "array", "design", "timeSeries", "signalSeries", and "model.matrix".In S-PLUS 6, only objects of class "vector", "matrix", and "data.frame" can be modified using the Grid Editor. S-PLUS opens all other classes (including "structure" and "named") in read-only mode, allowing you to view or graph the data; using the Data and Statistics dialogs with read-only objects is not allowed, however. You can easily convert read-only objects into editable data frames by using the Convert to Data Frame option in the Data menu or DataSet toolbar.
You can extend the capabilities of the Grid Editor to view in read-only mode objects of classes you create yourself. To do this, create appropriate methods for the generic functions getVectorNames and getVectorData.
The Grid Editor supports the new class "timeDate", which replaces the datesclass from S-PLUS 2000 for date and time data. The Properties dialog for timeDate columns gives you a high level of control over display formats including the year, month, day, hour, minute, second, and time zone. The defaults for displaying and entering time and date data are automatically set from the Regional Options in the Windows Control Panel, but you can also control them from the Data and Startup pages of the Options > General Settings dialog.
When you change the name of a column in the Grid Editor to something that includes illegal characters (i.e., space or punctuation marks), S-PLUS replaces the characters with periods to form a legal column name. The original name you entered is placed in the Description field of the Properties dialog for the column (if no description is already present); it is also used as the axis label in any graphs you create.
The Change Data Type dialog now keeps the factor labels when you convert a factor column to a numeric type such as "double" or "integer". This feature is helpful if your factor column has numeric labels. In previous versions of S-PLUS, the Change Data Type dialog always converted a factor column to its codes when a numeric type was chosen as the new type. To do this in S-PLUS 6.0, use the function codes in the Expression field of the Transform dialog.
The function Edit.data can be used to open a Grid Editor from the S-PLUS command line. The Grid Editor is opened in read-only mode for objects that require it.
The Paste Link feature of S-PLUS 2000 has been removed in favor of the new Excel integration capabilities.
New entries under the Options menu allow you to modify the background colors of the various S-PLUS window types, including scripts, reports, graph sheets, and the Object Explorer. To see the new entries, select Options > Document Background Colors. The Commands window, which already supported this feature in previous releases of S-PLUS, can be customized by selecting Options > Command Line.The Report window is now editable. New options in the ReportWindow toolbar allow you to modify the size, font, and style of the text that appears in an S-PLUS report. Because of these changes, reports are now saved with a default extension of *.rtf instead of *.srp (the extension that was used in earlier versions of S-PLUS).
You can now search through and save the Commands window. To search the text in the Commands window, select Edit > Find or type Ctrl-F while the Commands window is active. To save the Commands window as a plain text file, select File > Save As.
By default, the width and length options are now set to the dimensions of the current output window, including Script and Report windows as well as the Commands window. You can use the options function to disable this behavior. For example, set options(length=100) or options(width=65) to change the length and width of your output in all windows, respectively. Alternatively, you can change the settings in the Computations page of the Options > General Settings dialog; the settings you choose here apply to all windows and persist between sessions of S-PLUS for the current project. To re-enable automatic updating of these options, call options(width="auto") or options(length="auto"). The resize("auto") command changes both the length and width options simultaneously so that they are again set to the dimensions of the current output window.
Options listed in the Startup tab of the Options > General Settings dialog are now set as User options and recorded in the Windows registry. Therefore, these settings persist from session to session and from project to project. The custom background colors for windows (described above) are also stored as User options.All other options specified by dialogs in the Options menu are set as Project options and stored in the .Prefs directory of your projects. If you use multiple projects, you can manipulate these options on a project-by-project basis.
The startup sequence for the various initialization files has changed. The following functions and files are run in order (if they exist) when S-PLUS launches:S-PLUS first runs the file SHOME\S.init, which contains the standard S-PLUS initialization instructions. DO NOT EDIT THIS FILE. Local administrators can create and edit the file SHOME\local\S.init to specify particular actions to be performed at the start of S-PLUS sessions for all users at a particular site. This is evaluated prior to .First, so an individual may override the actions in SHOME\S.init and SHOME\local\S.init. The .First.local function, which a system administrator can create in the system database library\splus, provides another mechanism for this, although this is not recommended. S-PLUS looks for the file SHOME\S.chapters, which is a text file containing paths to library sections or S-PLUS chapters. These chapters are attached to session search paths for all users at a particular site. Next, S-PLUS looks for local copies of S.init and S.chapters in the current project directory. These files are analogous to the global files SHOME\S.init and SHOME\S.chapters, but they are evaluated only for a single project. Finally, a user's .First function is called when S-PLUS is started. The S_FIRST environment variable, if it is set, replaces the .First function, if any.
S-PLUS 6 includes the new function executeSql, which can be used to send arbitrary SQL statements to a database via ODBC. For example, you can use the command executeSql("DSN=mydatabase", "INSERT into mytable values ('Hello')") to add a record to an existing table.
CONTACT INFORMATION FOR FEEDBACK
You should send all technical support queries and general comments for this release to the designated S-PLUS contact at your university or campus. The S-PLUS support contact is usually a person affiliated with the Computing Services Center on your campus.
Current information about this release is available at:
www.insightful.com/support/spluslatest.html
The list of S-PLUS Frequently Asked Questions is available from:
www.insightful.com/support/faq.html
We are very interested in receiving information on possible bugs and usability enhancements from all users. Please send such bug reports to:
You can FAX your comments to S-PLUS Quality Assurance at the following number:
(206) 283-8691
Before contacting Insightful Corporation, be sure to read the section below on Backward Compatibility to see if you've encountered a known issue. A list of bugs reported against this release is available at www.insightful.com/support/spluslatest.html.
SUPPORTED PLATFORMS AND SYSTEM REQUIREMENTS
S-PLUS 6.0 for Windows is supported on the following:
Windows NT 4.0 and Windows 2000 running on Intel platforms
The minimum recommended system configuration is Pentium II/233 with 96MB of RAM. You must have at least 175MB of free disk space for the typical installation (and, if not installing on Drive C:\, an additional 75MB free disk space on Drive C:\ to unpack the distribution). A complete installation requires 230MB of free disk space.
If you have a Beta version or a Release Candidate of S-PLUS 6.0 installed on your computer, you must remove it before installing the version from this CD. To remove your existing version, run the S-PLUS Setup program as described below. If a dialog appears that displays the options Modify, Repair, and Remove, the Setup program has found an existing S-PLUS 6.0 installation. In this case, choose Remove and respond to the prompts to complete the removal of the application. To install this release, run the Setup program again and follow the instructions below.
Do NOT install this release over any existing version of S-PLUS. Instead, designate a clean installation directory for S-PLUS 6.0 and proceed with the Setup program as described below.
INSTALLING S-PLUS
The S-PLUS Setup program offers a variety of options:
| Typical | 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. |
| Compact | 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. |
Installing S-PLUS on Your Computer
If the operating system of your machine is Windows NT or Windows 2000, you must have full Administrator priveleges to install S-PLUS. This is 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. This is a restriction imposed by InstallShield, the installation program that S-PLUS uses.
Installing S-PLUS from the CD-ROM:
RUNNING S-PLUS
Options in the S-PLUS Program Group:
After installing S-PLUS, the S-PLUS program group appears as an option under Programs when you click the Start button.
BACKWARD COMPATIBILITY ISSUES
S-PLUS 6.0 for Windows uses a completely reengineered implementation of the S language. OBJECTS CREATED WITH S-PLUS 6.0 CANNOT BE USED WITH EARLIER VERSIONS OF S-PLUS. You should always run S-PLUS 6.0 in an S-PLUS 6.0 chapter as described in the installation instructions; this ensures that your working directory contains only objects created in S-PLUS 6.0. You can use older objects in S-PLUS 6.0, but you should access them by attaching directories in a position other than 1 in the search list so that S-PLUS 6.0 does not accidentally write to them. If S-PLUS 6.0 does not write to an SV3 _Data directory, it can still be used by S-PLUS 2000 and earlier.
Much of the graphical user interface, with the exception of the Object Explorer, is virtually identical to that of S-PLUS 2000. In particular, the GUI toolkit of guiXX functions is 100% compatible with S-PLUS 2000. Scripts using these functions should run with no modifications in S-PLUS 6.0.
The class mechanism is completely different from that in earlier versions of S-PLUS, and there are many changes to many fundamental functions. Backward compatibility was a design consideration of paramount importance, so most examples from earlier books on S and S-PLUS should run without modification. However, data objects created with S-PLUS 6.0 are different from objects created with S-PLUS 2000 and earlier.
Using Data Objects From S-PLUS 2000 and Earlier
Do not run S-PLUS 6.0 using a data directory created by S-PLUS 3.x, 4.x, or 2000 as your working directory. If you have extensive collections of user-written S-PLUS functions, you should use the Migration Wizard to convert them to a form accepted by S-PLUS 6.0 for Windows. The S-PLUS Migration Wizard is designed to step you through the process of converting an older project for use in S-PLUS 6.0. The wizard converts an entire project when invoked, including any document objects such as graphs, scripts, and reports.
You can start the Migration Wizard from either inside or outside of S-PLUS as follows:
Object-Oriented Programming
The object-oriented programming model has changed in this version of S-PLUS as well. Although the old model based on UseMethod still works for old-style classes, it does not work for new classes and old unclassed objects (which now have explicit classes). You cannot define old-style methods for new classes.
S-PLUS 6.0 for Windows has a stronger functional programming model than before. To support this, several changes have been made in S-PLUS behavior:
Failure to observe this rule
will cause difficulties in substitute,
sys.parent,
nargs,
sys.call,
match.call,
missing,
and default argument evaluation, among others.
Interfacing with C and Fortran Code
Dynamic loading and static loading (the LOAD utility) are no longer supported. Compiled code is now added to S-PLUS by means of dynamic linking, using the CHAPTER mechanism described in the Programmer’s Guide.
The pointers argument is now absent from .C. Compiled code that uses the pointers argument will crash S-PLUS. Much of the functionality that the pointers argument was intended to support is now supported by the new .Call function, which allows you to manipulate arbitrary S objects, including objects of user-defined classes.
The file S.h has changed significantly in S-PLUS 6.0. In particular, constants such as TRUE, FALSE, DOUBLE, and INT have been renamed to avoid names that are commonly used in other software packages that S-PLUS must coexist with. For details, see the Programmer's Guide.
C and Fortran code used with S-PLUS 2000 and earlier needs to be recompiled before it can be used with S-PLUS 6.0.
Changes to Pattern-Matching Functions
In previous versions of S-PLUS, a number of functions had pattern arguments specifying a pattern to be matched, with the pattern-matching semantics being platform dependent. In UNIX versions, the operating system's grep utility was used while in Windows versions, a close approximation of filename wildcard matching was used. In S-PLUS 6.0 for Windows, the behavior of the pattern argument for these functions is retained, and a regexpr.pattern argument has been added. Because they use the regexpr function (regular expression pattern matching), the pattern-matching semantics for the regexpr.pattern arguments are platform independent. These functions are:
again, find.objects, history, objects, objects.summary.
In previous versions of S-PLUS, the grep function's pattern argument also had platform dependent semantics. In S-PLUS 6.0, the old behavior is retained in the function oldGrep, and the grep function now has platform independent behavior that uses regexpr. To illustrate these changes, consider trying to find the index in a character vector x of all elements that start with "my.". Using S-PLUS for UNIX, one command is:
Other Known Backward Compatibility Issues
Shortly thereafter, coef
is passed to .Fortran
as a double-precision argument. In S-PLUS 5.x for UNIX, this code crashed
S-PLUS until the coef
assignment was changed to the following:
GETTING HELP ON S-PLUS
To obtain help on a particular function in this release, use the help or ? functions. To obtain help on the functionality of a particular dialog, click the Help button in that dialog. For replacement functions such as "dim<-", look for help on the corresponding regular function, such as dim. Look up Arithmetic, Assignment, and Comparison, respectively, for arithmetic, assignment, and comparison operators.
In S-PLUS 6, 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.
COMPILERS/LINKERS
S-PLUS 6.0 is built with Microsoft VC++6.0 and Compaq/DEC Fortran 6.0. All samples shipped with S-PLUS 6.0 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.
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: