variance function

double? variance(
  1. Iterable<num> iterable
)

Returns the variance of the given iterable.

Implementation

double? variance(Iterable<num> iterable) {
  final values = iterable.toList();
  if (values.isEmpty) return null;

  final m = mean(values);
  if (m == null) return null;

  num sumSquares = 0;
  for (final value in values) {
    final diff = value - m;
    sumSquares += diff * diff;
  }

  return sumSquares / values.length;
}