A simple gem for statistics.
Ruby
Switch branches/tags
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
lib
spec
.gitignore
.rspec
.rubocop.yml
.ruby-gemset
.ruby-version
.travis.yml
CHANGELOG.md
Gemfile
Gemfile.lock
README.md
Rakefile
rstat.gemspec

README.md

Rstat

Gem Version Travis

A very simple statistics gem.

Installation

$ gem install rstat

Usage

require 'rstat'
 => true
[1, 2, 3, 4, 5].mean
 => 3.0

Currently Adds

Arithmetic

  • Sum
  • Product
  • Binomial Coefficient

Descriptive Statistics

Location

  • Arithmetic Mean
  • Geometric Mean
  • Harmonic Mean
  • Power Mean
  • Median
  • Mode

Dispersion

  • Range
  • Standard Deviation
  • Coefficient of Variation
  • Percentile
  • Interquartile Range

Shape

  • Variance
  • Skewness
  • Kurtosis
  • Central Moments
  • Raw Moments

Count Data

  • Index of Dispersion

Regression Analysis

Linear Regression

  • Simple Linear Regression

Running Tests

Rstat depends upon RSpec for its tests.

To run all the tests for the gem:

$ rspec spec

To run one particular spec file:

$ rspec spec/rstat/array_spec.rb

To run one particular line of a spec file:

$ rspec spec/rstat/array_spec.rb:177

Rstat has been tested with Ruby 2.4.1. However, there's little reason it shouldn't work with other versions of Ruby as old as 2.0.0.

Console

Rstat includes a binstub to open up an IRB session with the gem preloaded. This is particularly useful if you're working with a local development copy of the gem's source and want to experiment with your changes. To use the preloaded console:

$ bin/console

Contributing

If you feel like you can add something useful to Rstat then don't hesitate to send a pull request.

A Note of Warning

This gem extends the core Array and Integer classes. In isolation this is usually pretty harmless. But, in combination with other gems that do the same, unpredictable behavior may result. As always, use caution, and be aware of what this gem and any others you use actually do before including it in an important project.