About SC
Quotes from a review of SC in the British Journal of Mathematical
& Statistical Psychology:
"SC is a statistical calculator
in much the same way as a Ferrari is a family runabout. The vast range
of internal and library routines can be mixed and matched into more
analyses than most of us would want in a lifetime. The range of
statistical and mathematical black boxes isso extensive and the methods
so up to date, that SC has the potential to match, and in many cases far
outstrip, virtually any other statistical package...SC is particularly
strong on non-parametric and distribution- free methods and on
regresssion...an exceptionally comprehensive on-line HELP system...the
manual is helpful and readable...SC has all the power and flexibility of
GAUSS with the extra bonus of a far more extensive library of ready-made
statistical routines."
SC is currently running in 10 countries, has been chosen by the U.K.
Open University as the software for its M246 and M346 Statistics courses,
is used
and has been exposed to tens of thousands of student-hours of
testing.
SC is a statistical calculator that runs under Windows and Unix.
It can be used very simply, like a hand-held calculator: for example,
you can evaluate scalar or vector/matrix expressions, or type
Tprob(2.145,23) to find an area in the right tail of Student t with 23
degrees of freedom. At this level, SC differs from hand-held calculators
in what is built in: you can look up non-central distributions, perform
Fourier analysis, carry out robust smoothing, do bootstrap and
jack-knife calculations, fit many types of regression model, minimize
or integrate a funtion, and so on, in each case with a single
instruction.
But SC is also a structured programming language, and it comes
with over 570 built-in routines (compiled C) and a library of over 1150
external routines (written in the SC language and loaded from disk as
required). This gives instant access to a large range of statistical
methods. And you can easily extend SC by defining your own functions
and procedures. Because there are over 1260 routines to draw on, your own
routines will usually be easy to write, extremely compact, and very
fast in execution. Unlike most similar software, SC supports recent
distribution-free methods, robust methods, and methods based on
permutation and rerandomization, as well as classical methods. It thus
provides a fast, effective, and very flexible way of going beyond the
few traditional 'set pieces' offered by most statistical packages.
Language Features
Long variable names. Vectors and
(regular or ragged) matrices, that can be re-sized without loss of
contents. Subvector and submatrix notations. While-loops, repeat-loops,
if-then-else conditions. Function and procedure definition, allowing
the number and type of arguments to vary across calls. Global and
local variables. Recursion. Multiple assignment. Escape to the
Operating System, leaving SC suspended. Renaming or hiding any sc
symbols. Built-in and user-definable constants. Level of type-fixing
is controllable by the user. You can allow functions of scalars to
operate directly on vectors or matrices, or functions of vectors to
operate directly on matrix rows: e.g. plot(log(Y),sqrt(X)) will plot a
log-transformed version of vector Y against a square-root- transformed
version of vector X, or gt(M,100) will make a matrix of the same
shape as M containing 0 or 1 as the corresponding entry in M is <=
or > 100. There is also an 'apply' mechanism, which often avoids
the need for explicit loops, reducing the risk of error and leading to
much faster execution. There are special facilities for storing and
manipulating sparse vectors and matrices efficiently. Functions and
procedures, whether built-in or external, can be passed as arguments to
external routines. There is a pseudo- structure mechanism, which
allows a routine to receive a single argument, P (say), and to refer to
its 'components' (say P.x, P.y, and P.label).
Help
Almost all the printed manual is available online while
running SC or from the Operating System, including the tutorials and an
alphabetically organized language reference. There is an 'a propos'
mechanism, that will list all routines relevant to a particular topic,
and another to find all routines that match a fragment of a routine
name. You can enquire about the role and use of any built-in or
external routine, and run a supplied example automatically. There is
an online glossary of technical statistical and computing terms. You
can inspect the history of the current session at any point. There is
a built-in command-history mechanism, allowing previous commands to be
recalled, edited, and re-entered; this greatly reduces the amount of
typing necessary. SC is very well protected against user errors, there
are extremely specific error messages, and you can set various levels
of 'tracing': for example, when an error condition arises you can
arrange for the recent history of routine-calls to be given, plus
information about the status of current variables. You can easily
modify or extend the help system if you wish: for example, if you write
your own routines, you can integrate any documentation you wish to
provide into the help system.
Files
SC supports text data-files (which can easily be
exchanged with other software) and binary files (for rapid access to
large amounts of data). Data-files can consist of raw data, or can be
'self-describing', that is, can contain vector and matrix definitions
as well as the numbers themselves. By default, data items need to be
separated by 'white space', and there are no other constraints on their
layout; but you can also read data- files containing separator
characters (e.g. ',' or ';'). There is a routine to make it easy to
convert from column-oriented layouts (e.g. in SPSS). There are many
routines to help with re-arranging data, by re-ordering vectors or
matrix rows, selecting matrix rows or columns, purging values outside a
certain range, and so on.
Versions
There are 2 versions, one for Windows and one for Linux. The Windows version
uses the Cygwin Unix-like environment (downloadable from the web and supplied
free with SC), and is compatible with any version of Windows (95,98,NT,200,..)
that is compatible with Cygwin. These 2 versions are essentially identical in
functionality and interface. Versions for other Unix systems can be built on
request.
Manual
There is extensive (printable) documentation on the supplied CD,
in Acrobat and Postscript formats. This includes introductory and advanced
tutorials, an A-Z reference on sc, explanations of error-messages, and a
book and journal paper reference section. All this information is also
viewable while running sc.
Plots and displays
In both versions, SC provides 2 parallel families
of graphics routines, which collaborate respectively with Gnuplot and with
Groff and Ghostscript (all necessary software is supplied on the CD).
Both provided on-screen viewing and printed output.
In Windows the graphics can easily be integrated into Windows documents.
See the separate list of
What you can do in SC without any programming for a list of the plots
and displays provided. Like just about all aspects of SC, the graphics
routines can be infinitely modified and extended by the user.
Differences from other products
SC differs from other
extensible and programmable statistical systems in the number of
ready-to-run routines provided. The large number of built-in (compiled
C) routines, and the advanced language features such as function
extension, make programs written in the SC language very fast in
execution, so that there are often minimal overheads relative to
compiled C programs. And SC does not suffer, like some software, from
inefficient memory management, so it can cope with huge problems
without being slowed to a halt by massive swapping
And although SC would normally be run
interactively, with a very extensive help-system, it can be set up to run
analyses in 'background' mode for the ultimate in speed.
SC is also
unusually up-to-date in its statistical contents.
Speed
Some tests of accuracy and speed are given in
the item Linux Pentium II Demo on the home page.
Reviews
Full-length reviews of SC are:-
- Lovie, P. (1990), British Journal of Mathematical & Statistical
Psychology, 43(2), 339.
- Daly, F. (1991) Statistics & Computing, 1, 63-70.
But note that SC has grown considerably since even the more recent of
these.