math-helper-functions
Installation
Using npm, npm i math-helper-functions
.
Using yarn, yarn add math-helper-functions
.
Usage
Using import
import { calcSum } from 'math-helper-functions';
const input = [
{ item: 'bookA', count: 3 },
{ item: 'bookB', count: 4 },
];
const totalBooks = calcSum(input, 'count'); // totalBooks is 7
In a CommonJS environment
const { calcDomain } = require('math-helper-functions');
const input = [
{ item: 'bookA', count: 3 },
{ item: 'bookB', count: 10 },
{ item: 'bookC', count: 1 },
];
const domain = calcDomain(input, 'count'); // domain is [1, 10]
Table of contents
Functions
- calcBuckets
- calcDiff
- calcDistribution
- calcDistributionAsArray
- calcDistributionWithSeries
- calcDomain
- calcHistogram
- calcMax
- calcMean
- calcMedian
- calcMin
- calcPercent
- calcQuartiles
- calcStdDeviation
- calcSum
- calcVariance
- calcWeightedMean
- calcWeightedMedian
- getMinMaxFromBucket
- ruleOfThree
Functions
calcBuckets
▸ calcBuckets(array
, strict?
, numOfBins?
): IBucket
[]
Calculate the buckets given a data array and an amount
Parameters
Name | Type | Default value | Description |
---|---|---|---|
array |
number [] |
undefined |
The data array |
strict? |
boolean |
false |
Whether to use real or pretty domain |
numOfBins? |
number |
undefined |
Amount of desired buckets |
Returns
IBucket
[]
The buckets
Export
Defined in
calcDiff
▸ calcDiff(array
, property?
): number
Gets the absolute difference between the max and min value in an array
Parameters
Name | Type | Description |
---|---|---|
array |
any [] |
Input array |
property? |
string |
Property to map by |
Returns
number
Absolute difference between the max and min of an array
Export
Defined in
calcDistribution
▸ calcDistribution(array
, strict?
, numOfBins?
): IDistribution
Calculates the distribution of an arrays values
Parameters
Name | Type | Default value | Description |
---|---|---|---|
array |
number [] |
undefined |
Input array |
strict |
boolean |
false |
|
numOfBins? |
number |
undefined |
Number of bins to use |
Returns
IDistribution
The distribution
Export
Defined in
calcDistributionAsArray
▸ calcDistributionAsArray(array
, binsStrict?
, numOfBins?
): IDistributionArrayItem
[]
Calculates the distribution of an arrays values and outputs an array
Parameters
Name | Type | Default value | Description |
---|---|---|---|
array |
number [] |
undefined |
Array to calc distribution of |
binsStrict? |
boolean |
false |
If false, buckets may be rounded [floor, ceil] |
numOfBins? |
number |
undefined |
Number of bins to use |
Returns
IDistributionArrayItem
[]
The distribution as an array of objects
Export
Defined in
calcDistributionWithSeries
▸ calcDistributionWithSeries(buckets
, dataGrouped
, distributionProp
): ISerieDistribution
Calculates the distribution of an array of grouped objects
Parameters
Name | Type |
---|---|
buckets |
IBucket [] |
dataGrouped |
Record <string , unknown []> |
distributionProp |
string |
Returns
ISerieDistribution
The distribution with labels and data
Export
Defined in
calcDomain
▸ calcDomain(array
, property?
): [number
, number
] | [any
, any
]
Gets the [min, max] value in an array
Parameters
Name | Type | Description |
---|---|---|
array |
any [] |
Input array |
property? |
string |
Property to map by |
Returns
[number
, number
] | [any
, any
]
The domain
Export
Defined in
calcHistogram
▸ calcHistogram(array
, numberOfBins?
, property?
): number
[]
Calculates a histogram from array values
Parameters
Name | Type | Default value | Description |
---|---|---|---|
array |
any [] |
undefined |
Input array |
numberOfBins? |
number |
4 |
Number of bins to use |
property? |
string |
undefined |
Property to map by |
Returns
number
[]
The histogram
Export
Defined in
calcMax
▸ calcMax(array
, property?
): number
Gets the max value in an array
Parameters
Name | Type | Description |
---|---|---|
array |
any [] |
Input array |
property? |
string |
Property to map by |
Returns
number
The maximum value in the array
Export
Defined in
calcMean
▸ calcMean(array
, property?
): number
| undefined
Gets the mean value for an array
Parameters
Name | Type | Description |
---|---|---|
array |
any [] |
Input array |
property? |
string |
Property to map by |
Returns
number
| undefined
The mean value
Export
Defined in
calcMedian
▸ calcMedian(array
, property?
): number
| undefined
Gets an array median
Parameters
Name | Type | Description |
---|---|---|
array |
any [] |
Input array |
property? |
string |
The property to map by |
Returns
number
| undefined
The resulting median
Export
Defined in
calcMin
▸ calcMin(array
, property?
): number
Gets the min value in an array
Parameters
Name | Type | Description |
---|---|---|
array |
any [] |
Input array |
property? |
string |
Property to map |
Returns
number
The minimum value in the array
Export
Defined in
calcPercent
▸ calcPercent(toCalc
, total
): number
Calculates the percentage of a value, given a total
Parameters
Name | Type | Description |
---|---|---|
toCalc |
number |
Number to get percentage of |
total |
number |
Total |
Returns
number
Percentage of the total
Export
Defined in
calcQuartiles
▸ calcQuartiles(array
, property?
): [number
, number
, number
]
Gets the quartiles of an array
Parameters
Name | Type | Description |
---|---|---|
array |
any [] |
Input array |
property? |
string |
Property to map by |
Returns
[number
, number
, number
]
The quartiles
Export
Defined in
calcStdDeviation
▸ calcStdDeviation<T
>(array
, property?
): number
| undefined
Calculates the standard deviation in an array of numbers
Type parameters
Name |
---|
T |
Parameters
Name | Type |
---|---|
array |
T [] |
property? |
string |
Returns
number
| undefined
Export
Defined in
calcSum
▸ calcSum(array
, property?
): number
Gets the sum of the values in an array
Parameters
Name | Type | Description |
---|---|---|
array |
any [] |
Input array |
property? |
string |
Property to map by |
Returns
number
The sum
Export
Defined in
calcVariance
▸ calcVariance<T
>(array
, property?
): number
| undefined
Calculates the variance in an array of numbers
Type parameters
Name |
---|
T |
Parameters
Name | Type |
---|---|
array |
T [] |
property? |
string |
Returns
number
| undefined
Export
Defined in
calcWeightedMean
▸ calcWeightedMean(array
, valueProperty
, weightProperty
): number
Gets the weighted mean for an array
Parameters
Name | Type | Description |
---|---|---|
array |
any [] |
Input array |
valueProperty |
string |
Property to use for value |
weightProperty |
string |
Property to use for weight |
Returns
number
The weighted mean
Export
Defined in
calcWeightedMedian
▸ calcWeightedMedian(array
, valueProperty
, weightProperty
): number
Gets an array weighted median
Parameters
Name | Type | Description |
---|---|---|
array |
any [] |
Input array |
valueProperty |
string |
The property to use as value |
weightProperty |
string |
The property to use as weight |
Returns
number
The resulting median
Export
Defined in
getMinMaxFromBucket
▸ getMinMaxFromBucket(bucketLabel
): number
[]
Gets the min and max values for a calcDistribution bucket
Parameters
Name | Type | Description |
---|---|---|
bucketLabel |
string |
The bucket label |
Returns
number
[]
[min, max]
Export
Defined in
ruleOfThree
▸ ruleOfThree(ifThis
, isThis
, thenThat
): number
Performs a simple rule of three
Parameters
Name | Type | Description |
---|---|---|
ifThis |
number |
First param |
isThis |
number |
First result |
thenThat |
number |
Second param |
Returns
number
Second result
Export