Calculate the arithmetic mean of an array, ignoring
NaNvalues and using a two-pass error correction algorithm.
var nanmeanpn = require( '@stdlib/stats/array/nanmeanpn' );Computes the arithmetic mean of an array, ignoring NaN values and using a two-pass error correction algorithm.
var x = [ 1.0, -2.0, NaN, 2.0 ];
var v = nanmeanpn( x );
// returns ~0.3333The function has the following parameters:
- x: input array.
- If provided an empty array, the function returns
NaN. - The function supports array-like objects having getter and setter accessors for array element access (e.g.,
@stdlib/array/base/accessor).
var uniform = require( '@stdlib/random/base/uniform' );
var bernoulli = require( '@stdlib/random/base/bernoulli' );
var filledarrayBy = require( '@stdlib/array/filled-by' );
var nanmeanpn = require( '@stdlib/stats/array/nanmeanpn' );
function rand() {
if ( bernoulli( 0.8 ) < 1 ) {
return NaN;
}
return uniform( -50.0, 50.0 );
}
var x = filledarrayBy( 10, 'float64', rand );
console.log( x );
var v = nanmeanpn( x );
console.log( v );