数据统计分析时,经常会用到中位数等指标,通过PHP如何实现?上代码吧...可通过excle(excle有函数)进行验算
Ps:预先对自己手中的一维数组进行排序哦
//获取中位数
function Quartile_50($Array) {
return Quartile($Array, 0.5);
}
//获取四分之一分位数
function Quartile_25($Array) {
return Quartile($Array, 0.25);
}
//获取四分之三分位数
function Quartile_75($Array) {
return Quartile($Array, 0.75);
}
//封装一个方法
function Quartile($Array, $Quartile) {
$pos = (count($Array) - 1) * $Quartile;
$base = floor($pos);
$rest = $pos - $base;
if( isset($Array[$base+1]) ) {
return $Array[$base] + $rest * ($Array[$base+1] - $Array[$base]);
} else {
return $Array[$base];
}
}
//数组平均值
function Average($Array) {
return array_sum($Array) / count($Array);
}
function StdDev($Array) {
if( count($Array) < 2 ) {
return;
}
$avg = Average($Array);
$sum = 0;
foreach($Array as $value) {
$sum += pow($value - $avg, 2);
}
return sqrt((1 / (count($Array) - 1)) * $sum);
}