PluginProbe
TablePress – Tables in WordPress made easy / 3.4
TablePress – Tables in WordPress made easy v3.4
3.4 3.3.4 3.3.3 3.3.2 3.3.1 trunk 1.12 1.14 1.9.2 2.0.4 2.1.7 2.1.8 2.2 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.3 2.3.1 2.3.2 2.4 2.4.1 2.4.2 2.4.3 All 45 releases
tablepress / libraries / vendor / PhpSpreadsheet / Calculation / Statistical / Confidence.php

Confidence.php in TablePress – Tables in WordPress made easy 3.4, at libraries/vendor/PhpSpreadsheet/Calculation/Statistical/Confidence.php

55 lines 1.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace TablePress\PhpOffice\PhpSpreadsheet\Calculation\Statistical;
4
5 use TablePress\PhpOffice\PhpSpreadsheet\Calculation\ArrayEnabled;
6 use TablePress\PhpOffice\PhpSpreadsheet\Calculation\Exception;
7 use TablePress\PhpOffice\PhpSpreadsheet\Calculation\Functions;
8 use TablePress\PhpOffice\PhpSpreadsheet\Calculation\Information\ExcelError;
9
10 class Confidence
11 {
12 use ArrayEnabled;
13
14 /**
15 * CONFIDENCE.
16 *
17 * Returns the confidence interval for a population mean
18 *
19 * @param mixed $alpha As a float
20 * Or can be an array of values
21 * @param mixed $stdDev Standard Deviation as a float
22 * Or can be an array of values
23 * @param mixed $size As an integer
24 * Or can be an array of values
25 *
26 * @return array<mixed>|float|string If an array of numbers is passed as an argument, then the returned result will also be an array
27 * with the same dimensions
28 */
29 public static function CONFIDENCE($alpha, $stdDev, $size)
30 {
31 if (is_array($alpha) || is_array($stdDev) || is_array($size)) {
32 return self::evaluateArrayArguments([self::class, __FUNCTION__], $alpha, $stdDev, $size);
33 }
34
35 try {
36 $alpha = StatisticalValidations::validateFloat($alpha);
37 $stdDev = StatisticalValidations::validateFloat($stdDev);
38 $size = StatisticalValidations::validateInt($size);
39 } catch (Exception $e) {
40 return $e->getMessage();
41 }
42
43 if (($alpha <= 0) || ($alpha >= 1) || ($stdDev <= 0) || ($size < 1)) {
44 return ExcelError::NAN();
45 }
46 /** @var float $temp */
47 $temp = Distributions\StandardNormal::inverse(1 - $alpha / 2);
48
49 /** @var float */
50 $result = Functions::scalar($temp * $stdDev / sqrt($size));
51
52 return $result;
53 }
54 }
55