Buffer provides a mutable data structure specialized on several primitive types.
Shorthand for class manifest typeclass
Frame
is an immutable container for 2D data which is indexed along both axes
(rows, columns) by associated keys (i.
Index provides a constant-time look-up of a value within array-backed storage, as well as operations to support joining and slicing.
Mat
is an immutable container for 2D homogeneous data (a "matrix").
Shorthand for numeric typeclass
Shorthand for ordering typeclass
Shorthand for scalar tag typeclass
Series
is an immutable container for 1D homogeneous data which is indexed by a
an associated sequence of keys.
Vec
is an immutable container for 1D homogeneous data (a "vector").
Syntactic sugar, placeholder for 'slice-all'
Syntactic sugar, placeholder for 'slice-all'
val v = Vec(1,2,3, 4) val u = v(*)
Convenience constructors for a Frame[RX, CX, Any] that accept arbitrarily-typed Vectors and Series as constructor parameters, leaving their internal representations unchanged.
Constant used in string byte-level manipulation
This package contains utilities for working with arrays that are specialized for numeric types.
Allow timing of an operation
Allow timing of an operation
clock { bigMat.T dot bigMat }
na
provides syntactic sugar for constructing primitives recognized as NA.
Provides type aliases for a few basic operations
Syntactic sugar, allow '->' to generate an (inclusive) index slice
Syntactic sugar, allow '->' to generate an (inclusive) index slice
val v = Vec(1,2,3,4) val u = v(0 -> 2)
Syntactic sugar, allow ' -> *' to generate an (inclusive) index slice, open on right
Syntactic sugar, allow ' -> *' to generate an (inclusive) index slice, open on right
val v = Vec(1,2,3,4) val u = v(1 -> *)
Provides for one-element slicing, e.
Provides for one-element slicing, e.g.
val v = Vec(1,2,3, 4) val u = v(1)
Syntactic sugar, allow '* -> ' to generate an (inclusive) index slice, open on left
Syntactic sugar, allow '* -> ' to generate an (inclusive) index slice, open on left
val v = Vec(1,2,3,4) val u = v(* -> 2)
Augments Seq with a toFrame method that returns a new Frame instance.
Augments Seq with a toFrame method that returns a new Frame instance.
For example,
val t = IndexedSeq(("a", "x", 3), ("b", "y", 4)) val f = t.toFrame res0: org.saddle.Frame[java.lang.String,java.lang.String,Int] = [2 x 2] x y -- -- a -> 3 NA b -> NA 4
Type of row index elements of Frame
Type of col index elements of Frame
Type of data elements of Frame
A value of type Seq[(RX, CX, T)]
Augments Seq with a toIndex method that returns a new Index instance.
Augments Seq with a toIndex method that returns a new Index instance.
For example,
val i = IndexedSeq(1,2,3) val s = i.toIndex
Type of index elements
A value of type Seq[X]
Augments Seq with a toSeries method that returns a new Series instance.
Augments Seq with a toSeries method that returns a new Series instance.
For example,
val p = IndexedSeq(1,2,3) zip IndexedSeq(4,5,6) val s = p.toSeries
Type of data elements of Series
Type of index elements of Series
A value of type Seq[(X, T)]
Augments Seq with a toVec method that returns a new Vec instance.
Augments Seq with a toVec method that returns a new Vec instance.
For example,
val s = IndexedSeq(1,2,3) val v = s.toVec
Type of elements of Vec
A value of type Seq[T]
Functionality to assist in TimeSeries related operations
Additional utilities that need a home
Factory methods to generate Vec instances
Saddle
Saddle is a Scala Data Library.
Saddle provides array-backed, indexed one- and two-dimensional data structures.
These data structures are specialized on JVM primitives. With them one can often avoid the overhead of boxing and unboxing.
Basic operations also aim to be robust to missing values (NA's)
The building blocks are intended to be easily composed.
Additionally, there are some numerical utilities: eg, a fast suite of org.saddle.util.Random number generators).
The foundational building blocks are:
Inspiration for Saddle comes from many sources, including the R programming language, the pandas data analysis library for Python, and the Scala collections library.