incrnancount

Compute a count incrementally, ignoring NaN values.

Usage

var incrnancount = require( '@stdlib/stats/incr/nancount' );

incrnancount()

Returns an accumulator function which incrementally computes a count, ignoring NaN values.

var accumulator = incrnancount();

accumulator( [x] )

If provided an input value x, the accumulator function returns an updated count. If not provided an input value x, the accumulator function returns the current count.

var accumulator = incrnancount();

var count = accumulator( 2.0 );
// returns 1

count = accumulator( 1.0 );
// returns 2

count = accumulator( NaN );
// returns 2

count = accumulator( 3.0 );
// returns 3

count = accumulator();
// returns 3

Examples

var randu = require( '@stdlib/random/base/randu' );
var incrnancount = require( '@stdlib/stats/incr/nancount' );

var accumulator;
var v;
var i;

// Initialize an accumulator:
accumulator = incrnancount();

// For each simulated datum, update the count...
for ( i = 0; i < 100; i++ ) {
    if ( randu() < 0.2 ) {
        v = NaN;
    } else {
        v = randu() * 100.0;
    }
    accumulator( v );
}
console.log( accumulator() );