数据分析中位数的应用
浏览:1658次 出处信息
过于平淡的折线图,总是觉得不能够更好的表达数据的内涵。如下做个对比
A图
B图
对比A图和B图,哪个表达的重点更清晰呢?那必然是B图了,B图的特点是把最高的n个数字用不一样的图标展示了,起到了一目了然的效果。那么问题来来了?
怎么从一组数据中计算出这个分界点呢?
下面提供两个参考的算法:
平均数:是指一组数据中所有数据之和再除以数据的个数,它是反映数据集中趋势的一项指标。
中位数:把一组数据按从小到大的顺序排列,在中间的一个数字(或两个数字的平均值)叫做这组数据的中位数。
但是我们会发现平均值可以被极端数据影响,表示平均水平,中位数表示中间水平。所以这里要用的是中位数的算法。
写了一个中位数的函数
//中位数 function mid_num($arr) { //排序 sort($data); $cnt=count($data); if($cnt%2==0) { $x1=$cnt/2-1; $x2=($cnt/2+1)-1; return ($data[$x1]+$data[$x2])/2; }else{ $id=round($cnt/2); return $data[$id-1]; } }
建议继续学习:
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:HashMap解决hash冲突的方法
后一篇:Linus:为何对象引用计数必须是原子的 >>
文章信息
- 作者:数据抓取 来源: 数据抓取
- 标签: 中位数
- 发布时间:2014-12-30 12:48:15
建议继续学习
近3天十大热文
- [67] Go Reflect 性能
- [67] Oracle MTS模式下 进程地址与会话信
- [67] 如何拿下简短的域名
- [61] IOS安全–浅谈关于IOS加固的几种方法
- [60] 图书馆的世界纪录
- [59] android 开发入门
- [59] 【社会化设计】自我(self)部分――欢迎区
- [56] 视觉调整-设计师 vs. 逻辑
- [49] 给自己的字体课(一)——英文字体基础
- [47] 界面设计速成