5 Dataframes are a central object within the S language. They are
6 extensions of matrices, which are a specialization of arrays, and so
7 could be considered a specialization of arrays. Dataframes,
8 however, provide a link between statistical data and the
9 corresponding numerical data which, for the resulting statistical
10 procedures, is manipulated through numerical linear algebra.
12 We have a virtual dataframe class, which inherits from the
13 MATRIX-LIKE class in LISP-MATRIX. LISP-MATRIX constructs a
14 framework for numerical linear algebra using a range of "storage
15 back-ends", currently lisp-arrays (using Tamas Papp's
16 Foriegn-Friendly-Array (FFA) package) and foriegn arrays (using Rif
17 Rifkin's foreign-numerical-value (FNV) package).
19 Future plans currently include implementing a listoflist backend for
20 both matrices and dataframes, as well as GSLL backend for matrices
21 (not clear if usable for dataframes).
23 * Dataframe implementation
25 The DATAFRAME-LIKE class directly generalizes the MATRIX-LIKE class
26 by adding statistically-relevant typing to columns, along with case
27 ids (row names) and column ids (variable names). We need to
28 construct a common nomenclature for this.