Beginners Guide To S-PLUS Programming Language
S-PLUS is a commercially-distributed implementation of the S programming language. It is developed, distributed, and supported by TIBCO Software Inc. S-PLUS is written and runs in the TIBCO Spotfire S+ statistical programming environment. Statisticians and researchers from a wide range of industries use S-PLUS to perform advanced statistical analysis on large data sets.
History of S, R, and S-PLUS
The S programming language was developed in the late 1970s at Bell Laboratories. It was designed to be a statistical computing language that would make it easy to create statistical analysis software. S-PLUS is a proprietary version of the S language which was developed by Statistical Sciences in 1988 for use within their statistical analysis software packages. Statistical Sciences, along with all of its products and the S-PLUS language, were acquired by MathSoft in 1993.
While MathSoft was putting out proprietary analysis packages using the S-PLUS language, a competing language called R was developed and made freely available under the GNU General Public License (GPL). R is a modern implementation of the S programming language and most code written in S can be executed within the R environment without being altered.
In 2001, MathSoft was split into two entities effectively undoing the merger of MathSoft and Statistical Sciences completed eight years prior. The resulting data analysis products company was renamed Insightful Corporation. In 2008, Insightful was acquired by TIBCO who now implements the S-PLUS language within their Spotfire statistical analysis programming environment.
Both R and S-PLUS continue to be actively used within the data analysis industry. Use of S-PLUS is limited to users of TIBCO's Spotfire software package while R is implemented in many modern open-source and GPL interfaces. The result is that modern usage of R far surpasses that of S-PLUS.
While proprietary S-PLUS may not be as popular as it's GPL sibling R, it is implemented as part of a very user-friendly analysis software package, TIBCO Spotfire, making it a popular choice for enterprise researchers and statisticians with access to adequate funding.
Differences Between S, R, and S-PLUS
S-PLUS and R are the two modern implementations of the S programming language. In practice, there are some differences in terms of lexical scoping, models, and a variety of minor syntactical differences. However, all three languages are extremely similar and a lot of code can be run equally well in all three environments.
Practically speaking, the differences between S, S-PLUS, and R come down to implementation. S and S-PLUS are both owned by TIBCO and implemented exclusively within TIBCOs Spotfire S+. R is a GNU project, freely available, and implemented in a variety of open-source and GPL interfaces.
GPL licensing of the R language means it has gained broad acceptance within academic and enterprise research settings. As a result, depending on how you measure popularity, R is considered to be one of the most popular programming languages for statistical analysis, only trailing heavyweight general purpose languages such as Python, C, and Java. Spotfire, on the other hand, commands a relatively small niche of the overall statistical analysis software marketplace.
How to Get S-PLUS
S-PLUS is implemented within the TIBCO Spotfire S+ software package. If you want to use S-PLUS for statistical analysis, you must first gain access to Spotfire. While access to Spotfire does usually require a paid license, there are a few ways to gain access to Spotfire for free if you are part of an accredited University, a journalist, a registered not-for-profit organization, or a full time student. If you fit into one of these categories take a look at TIBCO's Better World Donation Program.
There are free resources available online that can help you learn S-PLUS and how to use the language in the Spotfire environment.
The R and S-PLUS programming languages are closely related — so much so that most simple commands can run in either environment without modification. Complex scripts may require some alteration to adjust syntax and lexical scoping differences. As a result, many of the tutorials and guides available cover both the R and S-PLUS languages.
Introduction to the S-PLUS Environment
TIBCO Spotfire S+ Product Overview (PDF), by TIBCO Software Inc. This document provides a good overview of the Spotfire environment, it's history, and capabilities.
Getting Started with TIBCO Spotfire S+ 8.2 for Windows or for Solaris / Linux (PDF), by TIBCO Software Inc. Learn about the Spotfire statistical analysis environment including how to use S-PLUS within your environment (see pages 56 - 60 to get right to it).
Introduction to S-PLUS Programming
Statistics with R (PDF), by Hugo Quene. This brief document is based on the R language, however, the introduction notes that most of the ideas in the tutorial apply to both R and S-PLUS equally. The tutorial covers the basics of programming and statistical analysis with R or S-PLUS. Topics covered include use of objects, operations, data analysis, hypothesis testing, regression analysis, mixed-effects modeling, and the use of packages.
R/S-PLUS Fundamentals and Programming Techniques (PDF), by Thomas Lumley. Learn the fundamental concepts underlying programming in R and S-PLUS in this easy-to-read introductory document.
S-PLUS and Spotfire S+ Programming Deep Dives
S-Plus for the Analysis of Biological Data, by Rhondda E Jones, et al. This manual is a complete introduction to the S-PLUS language and programming environment. If you're ready to learn S-PLUS in depth, this 350 page discussion of the language will teach you how to complete statistically valid analysis of large data sets. This tutorial uses biological data sets as a teaching mechanism, but the knowledge gained can be applied to any field of analysis. Note: this PDF manual is packaged in such a way that it can only be opened with Adobe Reader.
TIBCO Spotfire S+ 8.2 Programmer's Guide (PDF), by TIBCO Software Inc. This document includes over 500 pages of S-PLUS programming instruction within the Spotfire S+ environment. Once you have a strong grasp of S-PLUS, this document will help turn you into a Spotfire S+ data analysis expert.
TIBCO Spotfire S+ 8.2 Guide to Packages, by TIBCO Software Inc. Packages are collections of functions, data, and help files that add new S-PLUS functions to the Spotfire S+ environment. This guide introduces packages and shows how to get started using them.
Additional Educational Resources
Since S-PLUS implementation happens within the TIBCO Spotfire application, it's important to know how to use this powerful statistical analysis platform.
- Free Online Training from TIBCO for Spotfire users.
- TIBCO Spotfire S+ 8.2 Documentation
- TIBCO Community: a wiki and forum rolled into one. Get help with S-PLUS from the community that uses it on a daily basis.
- Creating Data Functions with S-PLUS in the latest version of Spotfire S+.
There are also several textbooks which introduce S-PLUS and educate the reader on its use for data analysis.
- Modeling Financial Time Series with S-PLUS, by Eric Zivot.
- Mixed-Effects Models in S and S-PLUS, by Pinheiro and Bates.
- EnvironmentalStats for S-Plus, by Steven P Millard.
- Statistical Analysis of Financial Data in S-Plus, by Rene Carmona.
S-PLUS is a powerful programming language for performing statistical analysis. Using the resources here, you should be on your way to mastering it and using it to solve the problems you face in your work.