node-stats-lite
node-stats-lite copied to clipboard
Streaming
I'm wondering if there's a way to do this without storing the number array in memory. It would be a nice addition to create a streaming api. Something like:
const stats = require("stats-lite").stream
stat.push(1);
console.log( stats.sum()) // --> 1
stat.push(2);
console.log(stats.sum()) // --> 3
stat.push(3);
console.log(stats.sum()) // --> 6
stat.push(4);
console.log(stats.sum()) // --> 10
stat.push(5);
console.log(stats.sum()) // --> 15
or as a pipe:
const stats = require("stats-lite").stream
readableNumberStream
.pipe(stats.stdev())
I'm not even sure if that last one is even possible. Can you get the standard deviation without having the entire set of numbers? sum seems pretty straight forward but I'm not sure the other methods could work the same way.
Hi @jwerre
Why not simply use rxjs and use the scan or reduce pipe operator?