Skip to content

Repository files navigation

data-analysis

This is a general purpose collection of data analysis libraries for the Dylan programming language.

It currently consists of a statistics library providing some general statistical functions for calculating means, variance, deviation, and extrema.

Documentation for this set of libraries can be found online at http://opendylan.org/documentation/statistics/.

Contributing

Additional functionality and libraries are welcome.

Some immediate ideas for additions include:

  • Mode
  • Median
  • Weighted means
  • Trimmed means
  • Skewness, kurtosis
  • Absolute deviation
  • Covariance
  • Percentiles and quantiles
  • Rankings
  • Distances (probably a separate library within this repo)
  • Z scores
  • Distributions
  • Random data generation
  • Online / streaming descriptive statistics

Larger projects might include:

  • Time series data support
  • Dataframes
  • CSV reader / writer
  • Improving testing
  • Benchmarks and compiler improvements (mainly with LLVM)

Building

This library can be built with Open Dylan 2014.1 or later on these platforms with the C compiler back-end:

  • Mac OS X
  • Linux, 64 bit x86_64
  • FreeBSD, 64 bit x86_64 (not available with 2014.1)

Using Open Dylan from current master with the LLVM compiler back-end should work on 32 bit and 64 bit Mac OS X, Linux and FreeBSD.

The HARP compiler back-end has a bug that prevents it from being able to compile this library.

To use this library in the typical manner given Dylan's lack of a package manager:

  • Use a git submodule to pull this repository into your project.
  • Add registry entries for the libraries from this repository that you plan to use.
  • Use it.

Documentation

Documentation is built using Sphinx. This can be installed via:

pip install -U Sphinx

Then:

cd documentation
export PYTHONPATH=/path/to/opendylan/documentation/sphinx-extension
make html

To build the documentation, you will currently need a clone of Open Dylan from git to have the correct version of the Sphinx extension. (Or you could clone that locally and use the path to it directly.)

Releases

Packages

Contributors

Languages