soandso / grouping
0.1.3
2020-01-03 09:53 UTC
Requires
- php: ^7.0
Requires (Dev)
- phpunit/phpunit: ^8.5
This package is auto-updated.
Last update: 2024-09-29 05:28:58 UTC
README
该库允许您从简单的统计序列中创建分组,适用于大量数据的使用。
配置
将库添加到您的项目中 composer.json
文件
{ "require": { "soandso/grouping": "0.*" } }
使用 composer 安装库
$ php composer.phar install
Composer 会将 Grouping 安装到您的 vendor 文件夹中。然后您可以在 .php 文件中添加以下内容以使用库的自动加载。
require_once(__DIR__ . '/vendor/autoload.php');
您也可以在命令行上使用 composer 来要求并安装 Grouping
$ php composer.phar require soandso/grouping:0.*
最低要求
- PHP 7
描述
要开始,您需要创建库 Grouping 的核心类的对象
$object = new Grouping();
接下来,您需要添加用于计算的源数据
$object->putSource($source_data);
$source_data 是以简单非关联数组视图呈现的源数据。
该库的特点是您可以多次拉取添加源数据的方法。
$object->putSource($source_data1); $object->putSource($source_data2); $object->putSource($source_data3); ........
这在处理大量数据时可能很重要。例如,您可以分部分上传一个大文件。
function readFile($path) { $handle = fopen($path, "r"); while(!feof($handle)) { yield $object->putSource(sourceToarray(trim(fgets($handle)))); } fclose($handle); }
在此构建分组统计序列之后,您需要调用 buildGss 方法
$result = $object->buildGss($output, $path_file);
$output - 参数定义返回结果的格式。该参数是必需的,可以取以下值:“array”、“json”和“file”。$path_file - 参数,定义结果文件将写入的目录的系统路径。该参数是可选的。必须以斜杠 '/' 结尾。例如
/var/www/domain/folder/
构建引导统计序列的结果后,库呈现以下数据:部分区间的数量,部分区间边界的值,区间频率,部分区间中点的随机值,区间频率。例如,数组格式的输出将如下所示
[1]=>
array(5) {
["left_border"]=>
float(-9.4)
["right_border"]=>
float(-7.85)
["middle_partial_interval"]=>
float(-8.625)
["interval_frequency"]=>
int(4)
["relative_frequency"]=>
float(0.11428571428571)
}
[2]=>
array(5) {
["left_border"]=>
float(-7.85)
["right_border"]=>
float(-6.3)
["middle_partial_interval"]=>
float(-7.075)
["interval_frequency"]=>
int(2)
["relative_frequency"]=>
float(0.057142857142857)
}
[3]=>.....................
标准
Grouping 符合以下标准
- PSR-1 - 基本编码标准 (http://www.php-fig.org/psr/psr-1/)
- PSR-4 - 自动加载 (http://www.php-fig.org/psr/psr-4/)
- PSR-12 - 扩展编码风格指南 (http://www.php-fig.org/psr/psr-12/)
许可证
Grouping 根据 GPLv2 许可证 (https://gnu.ac.cn/licenses/old-licenses/gpl-2.0.html) 授权。