Fork me on GitHub

PHP求数组的中位数、四分之一(1/4)分位数、四分之三(3/4)分位数等

数据统计分析时,经常会用到中位数等指标,通过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);
}

  

posted @ 2023-02-24 11:09  君乐豹  阅读(93)  评论(0编辑  收藏  举报
Live2D