Statistics
Collection of statistical functions.
Methods
mean
mean(values: number[])
Calculates the average for given array of values.
Parameters
values number[]
The array of values on which the calculation is made.
Return type
number
Examples
// Calculates the mean for a number of given values:
Statistics.mean([1, 2, 3, 4, 5, 6, 7, 8, 9, 25]) // => 7 (Calculates mean for values 1, 2, 3, 4, 5, 6, 7, 8, 9 and 25)
mode
mode(values: number[])
Calculates the most frequent occurring value(s) within a given array. Returns a single value. In the case of multiple modes, this will return the lowest value.
Parameters
values number[]
The array of values on which the mode is deducted.
Return type
number
Examples
// Calculates the mode for a number of given values:
Statistics.mode([1, 2, 3, 4, 4, 6, 7, 8, 9, 25]) // => 4
// Calculates the mode for a number of given values:
Statistics.mode([1, 2, 3, 4, 4, 6, 7, 7, 9, 25]) // => 4 (4 and 7 are the mode, but 4 is lowest value and is returned)
modes
modes(values: number[])
Calculates the most frequent occurring value(s) within a given array. Returns an array.
Parameters
values number[]
The array of values on which the mode is deducted.
Return type
number[]
Examples
// Calculates the mode for a number of given values:
Statistics.modes([1, 2, 3, 4, 4, 6, 7, 8, 9, 25]) // => [4]
// Calculates the mode for a number of given values:
Statistics.modes([1, 2, 3, 4, 4, 6, 7, 7, 9, 25]) // => [4, 7]
median
median(values: number[])
Returns the median, or the number in the middle of the given array.
Parameters
values number[]
The array of values on which the median is calculated.
Return type
number
Examples
// Calculates the median for a number of given values:
Statistics.median([1, 2, 3, 4, 5, 6, 7, 8, 9, 25]) // => 5.5 (Calculates median for values 1, 2, 3, 4, 5, 6, 7, 8, 9 and 25)
slope
slope(knownYvalues: number[], knownXvalues?: number[])
Calculates the slope for a given number of points. If the x-values are omitted, the assumption is that all x-values have corresponding consecutive y-values [1 .. nr of x-values]. X-values may be numeric or of type Year ("YYYY") or YearMonth ("YYYY-MM").
Parameters
knownYvalues number[]
The array of values on which the calculation is made.
knownXvalues number[]
(optional) The x-values array. If omitted, the x-values are generated as 1,2,3...n for the number of y-values
Return type
number
Examples
// Calculates slope for a number of given points:
Statistics.slope([2,4,6,8,10]) // => 2 (Calculates slope for points 2, 4, 6, 8 and 10)
// Calculates slope for a number of given points and given x-values:
Statistics.slope([2,4,6,8,10], [1,3,5,7,9]) // => 1 (Calculates slope for points (1,2), (3,4), (5,6), (7,8) and (9,10))
intercept
intercept(knownYvalues: number[], knownXvalues?: number[])
Calculates the intercept (the value at the intersection of the y axis) of the linear regression line through a supplied set of x-values. If the x-values are omitted, the assumption is that all x-values have corresponding consecutive y-values [1 .. nr of x-values]. X-values may be numeric or of type Year ("YYYY") or YearMonth ("YYYY-MM")
Parameters
knownYvalues number[]
The array of values on which the calculation is made.
knownXvalues number[]
(optional) The x-values array. If omitted, the x-values are generated as 1,2,3...n for the number of y-values. X-values may be numeric or of type Year ("YYYY") or YearMonth ("YYYY - MM")
Return type
number
Examples
// Calculates intercept for a number of given points:
Statistics.intercept([2, 6, 8, 9, 10]) // => 1.3 (Calculates intercept for points 2, 6, 8, 9 and 10)
// Calculates intercept for a number of given points and given x-values:
ROUND(Statistics.intercept([6, 4, 8, 9, 12], [1, 3, 5, 7, 10]), 5) // => 3.72951 (Calculates intercept for points (1,2), (3,6), (5,8), (7,9) and (10,12))
rsq
rsq(knownYvalues: number[], knownXvalues?: number[])
Returns the square of the Pearson product moment correlation coefficient. If the x-values are omitted, the assumption is that all x-values have corresponding consecutive y-values [1 .. nr of x-values]. X-values may be numeric or of type Year ("YYYY") or YearMonth ("YYYY-MM")
Parameters
knownYvalues number[]
The array of values on which the calculation is made.
knownXvalues number[]
(optional) The x-values array. If omitted, the x-values are generated as 1,2,3...n for the number of y-values. X-values may be numeric or of type Year ("YYYY") or YearMonth ("YYYY - MM")
Return type
number
Examples
// Calculates rsq for a number of given points:
Statistics.rsq([2, 6, 8, 9, 10]) // => 0.9025 (Calculates rsq for points 2, 6, 8, 9 and 10)
// Calculates rsq for a number of given points and given x-values:
ROUND(Statistics.rsq([2, 6, 8, 9, 10], [1, 3, 5, 7, 10]), 5) // => 0.86117 (Calculates rsq for points (1,2), (3,6), (5,8), (7,9) and (10,10))
varP
varP(values: number[])
Calculates variance based on the entire population and assumes that its arguments are the entire population. If your data represents a sample of the population, then compute the variance by using VarS.
Parameters
values number[]
The array of values on which the calculation is made.
Return type
number
Examples
// Calculates the variance for a number of given points, based on the entire population:
Statistics.varP([1, 2, 3, 4, 5, 6, 7, 8, 9, 25]) // => 42
varS
varS(values: number[])
Calculates variance based on a sample and assumes that its arguments are a sample of the population. If your data represents the entire population, then compute the variance by using VarP.
Parameters
values number[]
The array of values on which the calculation is made.
Return type
number
Examples
// Calculates the variance for a number of given points, based on a sample:
Statistics.varS([1, 2, 3, 4, 5, 6, 7, 8, 9, 25]) // => 46.6667
stdDevP
stdDevP(values: number[])
Returns the standard deviation based on the entire population given as arguments.
Parameters
values number[]
The array of values on which the calculation is made.
Return type
number
Examples
// Calculates standard deviation for a number of given values (which is representing the entire population):
Statistics.stdDevP([1, 2, 3, 4, 5, 6, 7, 8, 9, 25]) // => 6.480740698 (Calculates stdDevP for points 1, 2, 3, 4, 5, 6, 7, 8, 9 and 25)
stdDevS
stdDevS(values: number[])
Returns the standard deviation based on a sample list of values.
Parameters
values number[]
The array of values on which the calculation is made.
Return type
number
Examples
// Calculates standard deviation for a number of given values (which is representing a sample of the entire population):
Statistics.stdDevS([1, 2, 3, 4, 5, 6, 7, 8, 9, 25]) // => 6.831300511 (Calculates stdDevS for points 1, 2, 3, 4, 5, 6, 7, 8, 9 and 25)
stdErrorP
stdErrorP(values: number[])
Returns the standard error based on the entire population given as arguments.
Parameters
values number[]
The array of values on which the calculation is made.
Return type
number
Examples
// Calculates the standard error for a number of given values (which is representing the entire population):
Statistics.stdErrorP([1, 2, 3, 4, 5, 6, 7, 8, 9, 25]) // => 2.049390153
stdErrorS
stdErrorS(values: number[])
Returns the standard error based on a sample list of values.
Parameters
values number[]
The array of values on which the calculation is made.
Return type
number
Examples
// Calculates standard error for a number of given values (which is representing a sample of the entire population):
Statistics.stdErrorS([1, 2, 3, 4, 5, 6, 7, 8, 9, 25]) // => 2,27710017
normalRandom
normalRandom(mean: number, stdDev: number)
Returns a random number from a normal distribution.
Parameters
mean number
The mean or expectation of the distribution.
stdDev number
The standard deviation of the distribution.
Return type
number
Examples
// Calculates a random number from a normal distribution:
Statistics.normalRandom(0.5, 0.125) // => a random number between 0 and 1
normalDistribution
normalDistribution(mean: number, stdDev: number, nrOfValues: number)
Returns [nrOfValues] random numbers from a normal distribution.
Parameters
mean number
The mean or expectation of the distribution.
stdDev number
The standard deviation of the distribution.
nrOfValues number
The number of random numbers returned.
Return type
number[]
Examples
// Generates an array of random numbers from a normal distribution and then calculates the mean
Statistics.mean(Statistics.normalDistribution(0.5, 0.125, 1000000)) // => ~ 0.5
gammaRandom
gammaRandom(alpha: number, beta: number)
Returns a random number from a gamma distribution.
Parameters
alpha number
The shape of the distribution. Should be a positive number.
beta number
The rate of the distribution. Should be a positive integer value.
Return type
number
Examples
// Calculates a random number from a gamma distribution:
Statistics.gammaRandom(2, 2)
gammaDistribution
gammaDistribution(alpha: number, beta: number, nrOfValues: number)
Returns [nrOfValues] random numbers from a gamma distribution.
Parameters
alpha number
The shape of the distribution. Should be a positive number.
beta number
The rate of the distribution. Should be a positive integer value.
nrOfValues number
The number of random numbers returned.
Return type
number[]
Examples
// Generates an array of random numbers from a gamma distribution and then calculates the mean
Statistics.mean(Statistics.gammaDistribution(2, 4, 1000000)) // => ~ 0.5
meanAbsDev
meanAbsDev(values: number[])
Returns the Mean Absolute Deviation.
Parameters
values number[]
The array of values on which the calculation is made.
Return type
number
Examples
// Calculates mean absolute deviation for a number of given values:
Statistics.meanAbsDev([1, 2, 3, 4, 5, 6, 7, 8, 9, 25]) // => 4.2
medianAbsDev
medianAbsDev(values: number[])
Returns the Median Absolute Deviation.
Parameters
values number[]
The array of values on which the calculation is made.
Return type
number
Examples
// Calculates median absolute deviation for a number of given values:
Statistics.medianAbsDev([1, 2, 3, 4, 5, 6, 7, 8, 9, 25]) // => 2.5
findGaps
findGaps(values: T[])
Returns missing values in an array. Values could be of type number or YearMonth strings
Parameters
values T[]
The array of values in which we look for missing values.
Return type
T[]
Examples
// Find missing values in Integer array:
Statistics.findGaps([1, 2, 3, 6, 8]) // => [4, 5, 7]
// Find missing values in YearMonth array:
Statistics.findGaps(["2019-01", "2019-03", "2019-05", "2019-07", "2019-09"]) // => ["2019-02", "2019-04", "2019-06", "2019-08"]
fillGaps
fillGaps(values: T[])
Adds the missing values to an array. Values could be of type number or YearMonth strings
Parameters
values T[]
The array of values in which we look for missing values.
Return type
T[]
Examples
// Add missing values to Integer array:
Statistics.fillGaps([1, 2, 3, 6, 8]) // => [1, 2, 3, 4, 5, 6, 7, 8]
// Add missing values to YearMonth array:
Statistics.fillGaps(["2019-01", "2019-03", "2019-06"]) // => ["2019-01", "2019-02", "2019-03", "2019-04", "2019-05", "2019-06"]
Last updated