# stats_standard_deviation

#### Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

•  Subject
• Author
• Posted on
Does anyone have more details on stats_standard_deviation than the
manual provides?
--

Regards,

Jeff Gardner
___________________________

"Contrary to popular belief, Unix is user friendly. It just happens
to be very selective about who its friends are."  --Kyle Hearn

## Re: stats_standard_deviation

Jeff Gardner wrote:

Hi Jeff,

The describtion is very bad indeed.

Why use an undocumented (bad documented) function for such a simple thing?
I would write my own implementation in such case.
Calculation the SD is very straightforward.

On the same page on www.php.net you can also find a contribution with a
working example.

[Source]
http://nl2.php.net/manual/en/function.stats-standard-deviation.php

function average(\$array){
\$sum  = array_sum(\$array);
\$count = count(\$array);
return \$sum/\$count;
}

//The average function can be use independantly but the deviation function
uses the average function.

function deviation (\$array){

\$avg = average(\$array);
foreach (\$array as \$value) {
\$variance[] = pow(\$value-\$avg, 2);
}
\$deviation = sqrt(average(\$variance));
return \$deviation;
}

Regards,
Erwin Moller

## Re: stats_standard_deviation

Jeff Gardner wrote:

Why bother?  Standard deviation is a really simple thing to
compute:

function stat_mean (\$data) {
return (array_sum(\$data) / count(\$data));
}

function stat_var (\$data) {
\$n = count (\$data);
\$mean = stat_mean (\$data);
\$sum = 0;
foreach (\$data as \$element) {
\$sum += pow ((\$element - \$mean), 2);
}
return (\$sum / (\$n - 1));
}

function stat_stdev (\$data) {
return sqrt (stat_var(\$data));
}

Cheers,
NC