PHP-FrequencyTable って何?
度数分布表を簡単に作成できるPHPライブラリです。
Githubで公開しています。Composerでインストールできます。
GitHub - macocci7/PHP-FrequencyTable: it's easy to use for creating frequency distribution tables.
it's easy to use for creating frequency distribution tables. - macocci7/PHP-FrequencyTable
使い方の詳細は前回の記事を参考にしてください。
追加した機能
- CSV出力
- TSV出力
- HTML出力
CSV出力
コードを見ていきましょう。
<?php
require('../vendor/autoload.php');
use Macocci7\PhpFrequencyTable\FrequencyTable;
$data = [0,5,10,15,20];
$ft = new FrequencyTable(['data' => $data, 'classRange' => 10]);
$ft->setColumns2Show(['Class', 'Frequency']);
$ft->csv('test.csv');
これで test.csv に度数分布表が保存されます。
"Class","Frequency"
"0 ~ 10","2"
"10 ~ 20","2"
"20 ~ 30","1"
"Total","5"
これならExcelで開くなり好きにできますね。
![](https://macocci7.net/blog/wp-content/uploads/2023/06/addfunction01.png)
TSV出力
今どき使われているのか疑問ですが、一応作ってみました。
<?php
require('../vendor/autoload.php');
use Macocci7\PhpFrequencyTable\FrequencyTable;
$ft = new FrequencyTable();
$ft->setClassRange(10);
$ft->setData([0,5,10,15,20]);
$ft->setColumns2Show(['Class', 'Frequency']);
$ft->tsv('test.tsv');
やっていることは、CSVのカンマをタブコード “\t” に変えただけです。
CSVとTSVの出力は共通のメソッドを使っていて、
カンマを渡すかタブコードを渡すかの違いだけです。
そうです、TSVはおまけで作っただけです。
"Class" "Frequency"
"0 ~ 10" "2"
"10 ~ 20" "2"
"20 ~ 30" "1"
"Total" "5"
今は何の苦もなくExcelで普通に開けるんですね。
![](https://macocci7.net/blog/wp-content/uploads/2023/06/addfunction01-1.png)
HTML出力
どうもMarkdownだけでは使い勝手が良くないようだと思い作りました。
<?php
require('../vendor/autoload.php');
use Macocci7\PhpFrequencyTable\FrequencyTable;
$ft = new FrequencyTable();
$ft->setClassRange(10);
$ft->setData([0,5,10,15,20]);
$ft->html('test.html');
HTMLに出力といっても、テーブルタグの部分だけを出力します。
<table>
<tr><td>Class</td><td>Frequency</td><td>RelativeFrequency</td><td>ClassValue</td><td>ClassValue * Frequency</td></tr>
<tr><td>0 ~ 10</td><td>2</td><td>0.40</td><td>5.0</td><td>10.0</td></tr>
<tr><td>10 ~ 20</td><td>2</td><td>0.40</td><td>15.0</td><td>30.0</td></tr>
<tr><td>20 ~ 30</td><td>1</td><td>0.20</td><td>25.0</td><td>25.0</td></tr>
<tr><td>Total</td><td>5</td><td>1.00</td><td>---</td><td>65.0</td></tr>
</table>
飾りっ気の無い、純粋無垢なHTMLなので、あとはスタイル追加するなりID追加するなり
あなたの色に染めてください。
(2024/03/03追記)
バージョン1.2.0にアップデートした記事を追加しました。
こちらもご参照ください。
コメント