soandso/grouping

统计分组

0.1.3 2020-01-03 09:53 UTC

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 符合以下标准

许可证

Grouping 根据 GPLv2 许可证 (https://gnu.ac.cn/licenses/old-licenses/gpl-2.0.html) 授权。