(double[] vals, double mean)
| 293 | |
| 294 | // standard deviation |
| 295 | public static double std(double[] vals, double mean) { |
| 296 | if (vals.length == 0) { |
| 297 | return Double.NaN; |
| 298 | } |
| 299 | double var = 0; // variance |
| 300 | double len = vals.length; // length |
| 301 | for (int i = 0; i < len; i++) { |
| 302 | if (!Double.isNaN(vals[i])) { |
| 303 | var += Math.pow((vals[i] - mean), 2); |
| 304 | } |
| 305 | } |
| 306 | return Math.sqrt(var / len); |
| 307 | } |
| 308 | |
| 309 | |
| 310 | // same as above but matches R's (n-1) denominator (Bessel's correction) |
no outgoing calls
no test coverage detected