# How to use simple-statistics - 10 common examples

## To help you get started, weâ€™ve selected a few simple-statistics examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

antvis / data-set / test / unit / api / statistics-spec.ts View on Github
``````it('statistics methods on fields of array', () =&gt; {
const data = [];
for (let i = 1; i &lt;= 10; i++) {
// 1~10
data.push({
a: [i, i + 10, [-i, i * i, [-i * i, 1 / i]]],
});
}
const dv = new DataSet.View().source(data);
const values = flattenDeep(dv.getColumn('a'));
expect(dv.max('a')).to.equal(max(values));
expect(dv.min('a')).to.equal(min(values));
expect(dv.mean('a')).to.equal(mean(values));
expect(dv.average('a')).to.equal(mean(values));
expect(dv.median('a')).to.equal(median(values));
expect(dv.mode('a')).to.equal(mode(values));
expect(dv.quantile('a', 0.5)).to.equal(quantile(values, 0.5));
expect(dv.quantiles('a', [0, 0.1, 0.5])).to.eql(map([0, 0.1, 0.5], (p) =&gt; quantile(values, p)));
expect(dv.quantilesByFraction('a', 4)).to.eql(map([0, 0.25, 0.5, 0.75, 1], (p) =&gt; quantile(values, p)));
expect(dv.standardDeviation('a')).to.equal(standardDeviation(values));
expect(dv.sum('a')).to.equal(sum(values));
expect(dv.variance('a')).to.equal(variance(values));
expect(dv.range('a')).to.eql([min(values), max(values)]);
});
});``````
dmoll1974 / targets-io / app / controllers / testruns.server.controller.js View on Github
``````function calculateLinearFit(datapoints){

var data = [];

for(var j=0;j&lt; datapoints.length;j++){

if(datapoints[j][0] !== null) {
data.push([j, datapoints[j][0]]);
}
}

var line = ss.linear_regression()
.data(data)
.line()

.data(data)
.m()
//winston.info('stijgings percentage: ' + (line(data.length-1)-line(0))/ line(0)) / data.length * 100;
//winston.info('line(0): ' + line(0));
//winston.info('line(data.length-1): ' + line(data.length-1));

/* if no valid number is calculated, return null*/

var result = !isNaN(Math.round(((((line(data.length-1)-line(0))/ line(0)) / data.length) * 100 * 100)* 100) / 100) ? Math.round(((((line(data.length-1)-line(0))/ line(0)) / data.length) * 100 * 100)* 100) / 100 : null;

return result;``````
antvis / data-set / test / unit / api / statistics-spec.ts View on Github
``````it('statistics methods on fields of array', () =&gt; {
const data = [];
for (let i = 1; i &lt;= 10; i++) {
// 1~10
data.push({
a: [i, i + 10, [-i, i * i, [-i * i, 1 / i]]],
});
}
const dv = new DataSet.View().source(data);
const values = flattenDeep(dv.getColumn('a'));
expect(dv.max('a')).to.equal(max(values));
expect(dv.min('a')).to.equal(min(values));
expect(dv.mean('a')).to.equal(mean(values));
expect(dv.average('a')).to.equal(mean(values));
expect(dv.median('a')).to.equal(median(values));
expect(dv.mode('a')).to.equal(mode(values));
expect(dv.quantile('a', 0.5)).to.equal(quantile(values, 0.5));
expect(dv.quantiles('a', [0, 0.1, 0.5])).to.eql(map([0, 0.1, 0.5], (p) =&gt; quantile(values, p)));
expect(dv.quantilesByFraction('a', 4)).to.eql(map([0, 0.25, 0.5, 0.75, 1], (p) =&gt; quantile(values, p)));
expect(dv.standardDeviation('a')).to.equal(standardDeviation(values));
expect(dv.sum('a')).to.equal(sum(values));
expect(dv.variance('a')).to.equal(variance(values));
expect(dv.range('a')).to.eql([min(values), max(values)]);
});
});``````
kartotherian / kartotherian / test / tile-profiler.js View on Github
``````source._backend.getTile(0,0,0, function(err, vtile, headers) {
if (err) throw err;
var tile = vtile;
var layerInfo = profiler.layerInfo(tile);

// Tile has a 'coastline' layer
var coastline = _(layerInfo).where({ name: 'coastline' })[0];
t.ok(coastline);

// Tile contains 4177 features
t.equal(coastline.coordCount.length, 1437);
t.equal(coastline.features, 1437);

// Longest/shortest features
t.equal(ss.max(coastline.coordCount), 380);
t.equal(ss.min(coastline.coordCount), 2);

// Most/least duplication
t.equal(ss.max(coastline.duplicateCoordCount), 0);
t.equal(ss.min(coastline.duplicateCoordCount), 0);

// Max/Min distance between consecutive coords
var diff = Math.abs(ss.max(coastline.coordDistance) - 570446.5598775251);
t.ok(diff &lt; 0.1);
t.equal(ss.min(coastline.coordDistance), 1181.6043940629547);

// Expected jsonsize
t.equal(coastline.jsonsize, 520120);

t.end();
});
});``````
tes / seguir / benchmark / index.js View on Github
``````}, function (err, result) {
process.stdout.write(' DONE!\n\n');
if (err) {
console.log(err);
process.exit(1);
}

console.log('Response Times:');
console.log('Min: ' + Math.floor(ss.min(result)) + 'ms');
console.log('Max: ' + Math.floor(ss.max(result)) + 'ms');
console.log('95th: ' + Math.floor(ss.quantile(result, 0.95)) + 'ms');
console.log('Std Dev: ' + Math.floor(ss.standardDeviation(result)) + 'ms');

console.log('\nRedis Cache:');
redisStats(api);

console.log('\nUser Cache:');
userStats(api);

process.exit(0); // TODO shutdown cleanly

api.client._client.shutdown();
});
}``````
tes / seguir / benchmark / index.js View on Github
``````}, function (err, result) {
process.stdout.write(' DONE!\n\n');
if (err) {
console.log(err);
process.exit(1);
}

console.log('Response Times:');
console.log('Min: ' + Math.floor(ss.min(result)) + 'ms');
console.log('Max: ' + Math.floor(ss.max(result)) + 'ms');
console.log('95th: ' + Math.floor(ss.quantile(result, 0.95)) + 'ms');
console.log('Std Dev: ' + Math.floor(ss.standardDeviation(result)) + 'ms');

console.log('\nRedis Cache:');
redisStats(api);

console.log('\nUser Cache:');
userStats(api);

process.exit(0); // TODO shutdown cleanly

api.client._client.shutdown();
});
}``````
jeromeetienne / poker-hand.js / scripts / montecarlo-accuracy-comparison.js View on Github
``````[100, 500, 1000, 2000, 3000, 5000, 10000].forEach(function(nRounds){
let nSimulations = 20
let results = []
for(let i = 0; i &lt; nSimulations; i++){
// console.log(`do simulation \${i} with \${nRounds} rounds`)
var result = PokerHand.MonteCarlo.simulateOddsIfAllIn(nRounds, holeCards, communityCards, nbOtherPlayers)
results.push(result)
}

// compute stats on the results
let mean = SimpleStats.mean(results)
let stddev = SimpleStats.standardDeviation(results)
let max = SimpleStats.max(results)
let min = SimpleStats.min(results)
console.log(`nRounds \${nRounds.toString().padStart(5)} : mean \${mean.toFixed(6)} (\${Math.round(mean*100).toString().padStart(2)}%) - stddev \${stddev.toFixed(6)} - delta min/max [\${(min-mean).toFixed(6)}, \${(max-mean).toFixed(6)}]`)
})``````
antvis / data-set / src / transform / percent.ts View on Github
``````forIn(groups, (group) => {
const totalSum = sum(group.map((row: any) => row[field]));
if (totalSum === 0) {
console.warn(`Invalid data: total sum of field \${field} is 0!`);
}
const innerGroups = partition(group, [dimension]);
forIn(innerGroups, (innerGroup) => {
const innerSum = sum(innerGroup.map((row: any) => row[field]));
// const resultRow = pick(innerGroup[0], union(groupBy, [ dimension ]));
const resultRow = innerGroup[0];
// FIXME in case dimension and field is the same
const dimensionValue = resultRow[dimension];
resultRow[field] = innerSum;
resultRow[dimension] = dimensionValue;
if (totalSum === 0) {
resultRow[as!] = 0;
} else {
resultRow[as!] = innerSum / totalSum;``````
metaspace2020 / metaspace / metaspace / webapp / src / lib / ionImageRendering.ts View on Github
``````function safeQuantile(values: number[], q: number | number[]): any {
// Handle cases when `values` is empty gracefully
if (values.length > 0) {
return quantile(values, q as any)
} else if (typeof q === 'number') {
return 0
} else {
return q.map(() => 0)
}
}``````
codeformunich / radlquartier / datatool / preprocess / index-qhs.js View on Github
``````data.weeks.push(year.weeks[w]);
}

for (var wd = 0; wd &lt; 7; wd++) {
data.weekDays[wd] = data.weekDays[wd].concat(year.weekDays[wd]);
}

data.days = data.days.concat(year.days);
}

// districtData.data = data;

// calculate means
districtData.meanYears = ss.mean(data.years);
districtData.meanMonth = ss.mean(data.month);

for (var l = 0; l &lt; 12; l++) {
if (data.yearMonth[l].length === 0) {
districtData.meanYearMonth[l] = 0;
}
else if (data.yearMonth[l].length === 1) {
districtData.meanYearMonth[l] = data.yearMonth[l][0];
}
else {
districtData.meanYearMonth[l] = ss.mean(data.yearMonth[l]);
}

if (output.districts.length === 0) {
output.meanYearMonth[l] = districtData.meanYearMonth[l];
}
else {``````

## simple-statistics

Simple Statistics

ISC