Patterns in static


Apophenia--the intro

Apophenia is an open statistical library for working with data sets and statistical models. It provides functions on the same level as those of the typical stats package (such as OLS, probit, or singular value decomposition) but gives the user more flexibility to be creative in model-building. The core functions are written in C, but experience has shown them to be easy to bind to in Python/Julia/Perl/Ruby/&c.

It is written to scale well, to comfortably work with gigabyte data sets, million-step simulations, or computationally-intensive agent-based models. If you have tried using other open source tools for computationally demanding work and found that those tools weren't up to the task, then Apophenia is the library for you.

The goods

The library has been growing and improving since 2005, and has been downloaded over 10,000 times. To date, it has over two hundred functions to facilitate statistical computing, such as:

For the full list, click the index link from the header.

Download Apophenia here.

Most users will just want to download the latest packaged version linked from the Download Apophenia here header.

Those who would like to work on a cutting-edge copy of the source code can get the latest version by cutting and pasting the following onto the command line. If you follow this route, be sure to read the development README in the Apophenia directory this command will create.

git clone
The documentation

To start off, have a look at this Gentle Introduction to the library.

The outline gives a more detailed narrative.

The index lists every function in the library, with detailed reference information. Notice that the header to every page has a link to the outline and the index.

To really go in depth, download or pick up a copy of Modeling with Data, which discusses general methods for doing statistics in C with the GSL and SQLite, as well as Apophenia itself. A Cross-paradigm Modeling Framework (PDF) discusses some of the theoretical structures underlying the library.

There is a wiki with some convenience functions, tips, and so on.

Notable features

Much of what Apophenia does can be done in any typical statistics package. The apop_data element is much like an R data frame, for example, and there is nothing special about being able to invert a matrix or take the product of two matrices with a single function call (apop_matrix_inverse and apop_dot, respectively). Even more advanced features like Loess smoothing (apop_loess) and the Fisher Exact Test (apop_test_fisher_exact) are not especially Apophenia-specific. But here are some things that are noteworthy.


If you're interested, write to the maintainer (Ben Klemens), or join the GitHub project.

Autogenerated by doxygen on Wed Mar 19 2014.