简体   繁体   English

如何计算每个集群的变异系数值? - PHP MYSQL

[英]How to count coefficient of variation value for each cluster ? - PHP MYSQL

I have data in my database table:我的数据库表中有数据:

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

for example in my database have 3 cluster (C1,C2,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..

How can i count the Coefficient Of Variation (CV) of each Cluster in PHP?如何计算 PHP 中每个集群的变异系数 (CV)?

if there are 4 or more cluster in my database, how can i loop it for count CV?如果我的数据库中有 4 个或更多集群,我如何循环它以计算 CV?

I think it can be done in this way:我认为可以通过以下方式完成:

$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;
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM