Crate rstats

source ·
Expand description

Statistics, Linear Algebra, Information Measures, Cholesky Matrix Decomposition, Mahalanobis Distance, Multidimensional Data Analysis, Machine Learning and more …

Modules

Custom error RError
Vector algebra mutating an f64 vector
Basic statistics on a single generic vector
Associated functions implemented for struct TriangMat
Vector algebra on two generic vectors
Stats and vector algebra on one or two u8 vectors
Multidimensional operations on sets of vectors
Multidimensional operations on sets of vectors, with additional inputs

Structs

Holds measures of central tendency and spread. Usually some kind of mean and its associated standard deviation, or median and its MAD
Median, quartiles, mad (median of absolute diffs)
struct for minimum value, its index, maximum value, its index
Compact Triangular Matrix. TriangMat is typically result of some matrix calculations, so concrete end-type f64 is used for simplicity and accuracy. TriangMat with .transposed == true is a transposed upper triangular matrix. .symmetric == true represents, without duplications, a symmetric matrix. The size of the implied full square matrix, nxn, is not explicitly stored. It is obtained by solving the quadratic equation: ((((8 * s + 1) as f64).sqrt() - 1.) / 2.) as usize; where s = triangmat.len(). Converting the other way: s = (n+1)*n/2;

Enums

custom error

Constants

When interpolated, makes following foreground rendering bold blue
When interpolated, makes following foreground rendering bold cyan
When interpolated, makes following foreground rendering bold green
When interpolated, makes following foreground rendering bold magenta
When interpolated, makes following foreground rendering bold red
Returns the terminal rendering to default
When interpolated, makes following foreground rendering bold yellow

Traits

Fast 1D generic medians and associated information and tasks
Mutable operations on one generic slice. A few of the essential Vecg methods are reimplemented here to mutate self. This is for efficiency and convenience. For example, in vector iterative methods.
Trait to serialize tuples &(T,T) and &(T,T,T) and slices &[T], &[&[T]], &[Vec<T>]. Suitable for printing or writing to files pairs, triplets, all kinds of Vecs and slices and irregularly shaped 2D matrices.
All are converted into Strings and optionally decorated and coloured. Included are methods and constants to render the resulting String in six primary bold ANSI terminal colours.
Statistical measures of a single variable (one generic vector of data) and vector algebra applicable to a single (generic) vector. Thus these methods take no arguments.
Methods applicable to a slice of vectors of generic end type. Operations on a whole set of multidimensional vectors.
Methods applicable to slice of vectors of generic end type, plus one other argument of a similar kind
Vector Algebra on two vectors (represented here as generic slices). Also included are scalar operations on the self vector.
Methods specialised to and more efficient, for &[u8]

Functions

Convenience From quantification invocation
Convenience dummy function for quantify closure
Standard error in 1d: (value-centre)/dispersion for any measure of central tendency and dispersion
Sum of natural numbers 1..n. Also the size of an upper or lower triangle of a square array (including the diagonal) to exclude the diagonal, use sumn(n-1)
Generates full nxn unit (identity) matrix

Type Definitions

Shorthand type for returned errors with message payload