math-helper-functions
v3.2.0
Published
Helper with misc. math functions such as sums, averages, max, min, etc
Downloads
1,865
Maintainers
Readme
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
- getPercentile
- 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
getPercentile
▸ getPercentile(array
, percentile
): number
| undefined
Gets the percentile of an array of values
Parameters
| Name | Type | Description |
| :----------- | :--------------------- | :-------------------------- |
| array
| (null
| number
)[] | Array to find percentile of |
| percentile
| number
| Amount between 0 and 1 |
Returns
number
| undefined
Percentile
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