我的数据库表中有数据:
id | Name | Total | Cluster
1 | Alpha | 6025 | C1
2 | Beta | 5930 | C1
3 | Car | 4550 | C1
4 | Delta | 5694 | C1
5 | Echo | 2500 | C2
6 | Fuji | 2850 | C2
7 | Go | 3150 | C2
8 | Hero | 3750 | C2
9 | Icon | 1850 | C3
10 | Joy | 1350 | C3
11 | Kick | 1455 | C3
例如,在我的数据库中有3个集群(C1、C2、C3(:
=AVERAGE(6025+5930+4550+5690) //result 5549,75
=STDEV(6025+5930+4550+5690) //result 680,8722
CV for C1 = 680,8722 / 5549,75 //result 0,122685
CV for C2 = 529,7405 / 3062,5 //result 0,172976
etc..
如何在PHP中计算每个集群的变异系数(CV(?
如果我的数据库中有4个或更多的集群,我如何循环它来计算CV?
我认为可以这样做:
$sql = 'SELECT cluster, (STDDEV(Total)/AVG(Total)) as CV FROM your_table GROUP BY cluster';
foreach ($conn->query($sql) as $row) {
echo $row['cluster'] . ': ' . $row['CV'] . PHP_EOL;
}