online-series

0.0.3 • Public • Published

online-series

Stack multiple stats one by one in Series. Get all results in an object. Instead of dealing with each stat separately, you can create a Series object, then call it once for each data observation. Another benefit is that all stats have a common result object. So it can help optimize calculation in the future.

Instead of:

const Mean = require('online-mean')
const Variance = require('online-variance')
 
const mean = Mean()
const variance = Variance()
 
;[1,2,3].forEach(v => {
  mean(v)
  variance(v)
})
 
results = {
  mean: mean.value,
  variance: variance.value
}

You can use Series:

const Mean = require('online-mean')
const Variance = require('online-variance')
const Series = require('online-series')
 
const s = Series(Mean(), Variance())
 
;[1,2,3].forEach(v => {
  s(v)
})
 
result = s.values

To create a Series object, call Series() with initialized Stats objects (for example Mean()) Then use it as you use mean, variance, min, max etc The only difference is its output. Insted if a scalar value it returns an object with corresponding keys: mean, median, min, max etc... Available getter is ***.values.

To change how results are called pass a list of object to Series():

const s = Series(
  { stat: Stats.Mean(), name: 'Average' },
  { stat: Stats.Variance({ddof: 1}), name: 'Variance' },
  { stat: Stats.Std(), name: 'Stdev' },
  { stat: Stats.Median(), name: 'Median' },
  { stat: Stats.Min(), name: 'Min' },
  { stat: Stats.Max(), name: 'Max' }
)

The s output object will have such keys: Average, Variance, ... Initialize Series() in such way if you use code minifiers!!!

You can add Groups inside Series:

const s = Series(Group(Mean(), Mean()), Group(Variance(), Variance()))

Package Sidebar

Install

npm i online-series

Weekly Downloads

163

Version

0.0.3

License

ISC

Unpacked Size

5.18 kB

Total Files

5

Last publish

Collaborators

  • zemlyansky