## statistics

Statistics package for easy and efficient data manipulation with many built-in mathematical functions and units.

## Usage

### Numeric extension:

``````import 'package:statistics/statistics.dart';

void main() {
var ns = [10, 20.0, 30];
print('ns: \$ns');

var mean = ns.mean;
print('mean: \$mean');

var sdv = ns.standardDeviation;
print('sdv: \$sdv');

var squares = ns.square;
print('squares: \$squares');
}
``````

OUTPUT:

``````ns: [10, 20.0, 30]
mean: 20.0
sdv: 8.16496580927726
squares: [100.0, 400.0, 900.0]
``````

### Statistics

``````import 'package:statistics/statistics.dart';

void main() {
var ns = [10, 20.0, 30];
var statistics = ns.statistics;

print('Statistics.max: \${ statistics.max }');
print('Statistics.min: \${ statistics.min }');
print('Statistics.mean: \${ statistics.mean }');
print('Statistics.standardDeviation: \${ statistics.standardDeviation }');
print('Statistics.sum: \${ statistics.sum }');
print('Statistics.center: \${ statistics.center }');
print('Statistics.squaresSum: \${ statistics.squaresSum }');

print('Statistics: \$statistics');
}
``````

OUTPUT:

``````Statistics.max: 30
Statistics.min: 10
Statistics.mean: 20.0
Statistics.standardDeviation: 21.602468994692867
Statistics.sum: 60.0
Statistics.center: 20.0
Statistics.squaresSum: 1400.0
Statistics: {~20 +-21.6024 [10..(20)..30] #3.0}
``````

### CSV

``````import 'package:statistics/statistics.dart';

void main() {
var categories = <String, List<double?>>{
'a': [10.0, 20.0, null],
'b': [100.0, 200.0, 300.0]
};

var csv = categories.generateCSV();
print(csv);
}
``````

OUTPUT:

``````#,a,b
1,10.0,100.0
2,20.0,200.0
3,0.0,300.0
``````

## Source

The official source code is hosted @ GitHub:

# Features and bugs

Please file feature requests and bugs at the issue tracker.

# Contribution

Any help from the open-source community is always welcome and needed:

• Found an issue?
• Please fill a bug report with details.
• Wish a feature?
• Open a feature request with use cases.
• Are you using and liking the project?
• Promote the project: create an article, do a post or make a donation.
• Are you a developer?
• Fix a bug and send a pull request.
• Implement a new feature.
• Improve the Unit Tests.
• Have you already helped in any way?
• Many thanks from me, the contributors and everybody that uses this project!

If you donate 1 hour of your time, you can contribute a lot,