Skip to content

Commit

Permalink
compute std for packaging stats
Browse files Browse the repository at this point in the history
  • Loading branch information
stephanegigandet committed Jun 28, 2023
1 parent 33f74ce commit 9575072
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 0 deletions.
9 changes: 9 additions & 0 deletions lib/ProductOpener/PackagingStats.pm
Original file line number Diff line number Diff line change
Expand Up @@ -226,6 +226,7 @@ sub compute_stats_for_all_weights ($packagings_stats_ref) {
=head2 compute_stats_for_values ($values_ref)
Compute stats for values (e.g. weights or percent) passed in $values_ref->{values} in comma delimited format
The values are converted to an array.
=cut

Expand All @@ -245,7 +246,15 @@ sub compute_stats_for_values ($values_ref) {
}

if ($values_ref->{n} > 0) {
# Compute the mean
$values_ref->{mean} = $values_ref->{sum} / $values_ref->{n};

# Compute the standard deviation
my $sum_of_square_differences = 0;
foreach my $value (@{$values_ref->{values}}) {
$sum_of_square_differences += ($value - $values_ref->{mean}) * ($value - $values_ref->{mean});
}
$values_ref->{std} = sqrt($sum_of_square_differences / (scalar @{$values_ref->{values}}));
}

return;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
"products_percent" : {
"mean" : 100,
"n" : 2,
"std" : 0,
"sum" : 200,
"values" : [
"100",
Expand All @@ -18,6 +19,7 @@
"weight_100g" : {
"mean" : 550,
"n" : 2,
"std" : 450,
"sum" : 1100,
"values" : [
"1000",
Expand All @@ -27,6 +29,7 @@
"weight_100g_material" : {
"mean" : 550,
"n" : 2,
"std" : 450,
"sum" : 1100,
"values" : [
"1000",
Expand All @@ -39,6 +42,7 @@
"products_percent" : {
"mean" : 50,
"n" : 2,
"std" : 50,
"sum" : 100,
"values" : [
"100",
Expand All @@ -48,6 +52,7 @@
"weight_100g" : {
"mean" : 500,
"n" : 2,
"std" : 500,
"sum" : 1000,
"values" : [
"1000",
Expand All @@ -57,6 +62,7 @@
"weight_100g_material" : {
"mean" : 1000,
"n" : 1,
"std" : 0,
"sum" : 1000,
"values" : [
"1000"
Expand All @@ -67,6 +73,7 @@
"products_percent" : {
"mean" : 0,
"n" : 2,
"std" : 0,
"sum" : 0,
"values" : [
"0",
Expand All @@ -76,6 +83,7 @@
"weight_100g" : {
"mean" : 0,
"n" : 2,
"std" : 0,
"sum" : 0,
"values" : [
"0",
Expand All @@ -87,6 +95,7 @@
"products_percent" : {
"mean" : 0,
"n" : 2,
"std" : 0,
"sum" : 0,
"values" : [
"0",
Expand All @@ -96,6 +105,7 @@
"weight_100g" : {
"mean" : 0,
"n" : 2,
"std" : 0,
"sum" : 0,
"values" : [
"0",
Expand All @@ -108,6 +118,7 @@
"products_percent" : {
"mean" : 50,
"n" : 2,
"std" : 50,
"sum" : 100,
"values" : [
"0",
Expand All @@ -117,6 +128,7 @@
"weight_100g" : {
"mean" : 50,
"n" : 2,
"std" : 50,
"sum" : 100,
"values" : [
"0",
Expand All @@ -126,6 +138,7 @@
"weight_100g_material" : {
"mean" : 100,
"n" : 1,
"std" : 0,
"sum" : 100,
"values" : [
"100"
Expand All @@ -136,6 +149,7 @@
"products_percent" : {
"mean" : 0,
"n" : 2,
"std" : 0,
"sum" : 0,
"values" : [
"0",
Expand All @@ -145,6 +159,7 @@
"weight_100g" : {
"mean" : 0,
"n" : 2,
"std" : 0,
"sum" : 0,
"values" : [
"0",
Expand Down

0 comments on commit 9575072

Please sign in to comment.