## Stats

**Stats** is a prototype to explore how intuitive we can make statistics in Ruby.

Starting out, the purpose of the library is to be readable (for people studying statistics), to be well-tested (against R and Python statistical functions), and to be useful for Small Data. Big Data can come later, if I have enough fun. With stats, I aim to create an API that makes statistics intuitive and harder to mess up. For example, I'd like to take a stab at an assumption framework that can tag specific functions with assumptions that will throw warnings if they're not met.

### Features

So far, the library features:

- Standard statistics functions (listed below)
- The basis for an assumption framework (which would detect invalid inputs where possible and throw warnings)

#### Distribution functions

I've added a wrapper around GSL distribution functions, for more intuitive access and testing.

- Normal distribution - PDF & CDF
- Chi square distribution - PDF & CDF
- T distribution - PDF & CDF
- F distribution - PDF & CDF

#### Basic functions

- Mean, arithmetic
- Mean, geometric
- Median
- Mode
- Variance
- Standard deviation
- Standard error of the mean (for samples)
- Relative standard error of the mean (for samples)
- Coefficient of variation

### Significance tests

- Chi square
- T-test, single sample
- T-test, two-sample
- T-test, repeated measures
- Wilcoxon rank sum test
- Kruskall-Wallis H test
- ANOVA, one-way

#### Support & other

- Basic assumption framework

#### Next up

Check out the README to see which functions I'd like to implement next.

### Resources

Here are some statistical resources that will be incorporated into the assumptions framework:

- How to choose the right statistical test
- Wilkinson's
*Statistics Quiz*(RTF) - Assessing the reliability of statistical software