拓端tecdat|R语言自定义两种统计量度:平均值和中位数,何时去使用?
原文链接:http://tecdat.cn/?p=11085
原文出处:拓端数据部落公众号
最常用的两种统计量度是平均值和中位数。两种度量均指示分布的中心值,即预期大多数数据点所处的值。但是,在许多应用程序中,考虑到手头的数据,考虑两种方法中的哪一种更为合适是很有用的。在这篇文章中,我们将研究这两个数量之间的差异,并提供建议。
均值
算术平均数是大多数人简单地称为 平均值。但是,确切地说,我们必须注意,平均值只是平均值的一种类型。在迷失于这些术语的复杂性之前,让我们继续进行均值的定义
均值定义为
假设我们有x =(30,25,40,41,30,41,50,33,40,1000)x =(30,25,40,41,30,41,50,33,40,1000),这是什么意思?我们可以通过以下方式进行计算:
x <- c(30, 25, 40, 41, 30, 41, 50, 33, 40, 1000)
# the way of the beginner (don't do this!):
x.mean <- 0
for (xi in x) {x.mean <- x.mean + xi
}
x.mean <- x.mean / length(x)
print(x.mean)
## [1] 133
# a better way:
x.mean <- sum(x) / length(x)
print(x.mean)
## [1] 133
# the right way:
x.mean <- mean(x)
print(x.mean)
## [1] 133
可以简单地使用 mean
函数,而不必自己实现均值。
中位数
中位数是指数字列表中最中心的值。尽管很容易解释,但中位数比平均值更难计算。这是因为为了找到中位数,必须对列表中的数字进行排序。此外,我们必须区分两种情况。如果列表中元素的数量为奇数,则中位数是列表中最中心的成员。但是,如果列表中有偶数个元素,则需要确定两个最中心的数字的算术平均值。
我们可以通过以下方式对此进行形式化。令xx为数字的排序向量。那么中位数是
让我们看看如何获得R中的中位数。
x.median <- mymedian(x)
print(x.median)
## [1] 40
# the easy way:
x.median <- median(x)
print(x.median)
## [1] 40
均值和中位数的比较
定义了两种类型的平均值之后,我们现在可以研究两者之间的差异。尽管算术平均值考虑 了向量中的所有值,但中值仅考虑了 值的 子集。这是因为中位数基本上丢弃了除最中心值以外的所有矢量元素。中位数的此功能可能会有很大的不同。正如我们在示例中所看到的,xx的平均值(133)远大于其中位数(40)。在这种情况下,这是因为中位数会丢弃xx中的值1000,而算术平均值会考虑它。
这使我们想到了我们要回答的问题:何时使用均值以及何时使用中位数?答案很简单。如果您的数据包含离群值(例如在我们的示例中为1000),那么 通常宁愿使用中位数,因为平均值的值将由离群值而不是典型值主导。总之,如果 正在考虑均值,请检查数据是否存在异常值。一种简单的方法是绘制数据的直方图。
对于我们的数据,直方图清楚地显示了值为1000的离群值,我们得出的结论是,中位数比平均值更合适。
拓端tecdat|R语言自定义两种统计量度:平均值和中位数,何时去使用?相关推荐
- r 语言 ggplot上添加平均值_R语言自定义两种统计量度:平均值和中位数,何时去使用?
原文链接: http://tecdat.cn/?p=11085tecdat.cn 最常用的两种统计量度是平均值和中位数.两种度量均指示分布的中心值,即预期大多数数据点所处的值.但是,在许多应用程序中 ...
- 拓端tecdat|R语言向量误差修正模型 (VECMs)分析长期利率和通胀率影响关系
最近我们被客户要求撰写关于向量误差修正模型的研究报告,包括一些图形和统计输出. 向量自回归模型估计的先决条件之一是被分析的时间序列是平稳的.但是,经济理论认为,经济变量之间在水平上存在着均衡关系,可以 ...
- 拓端tecdat|R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险
最近我们被客户要求撰写关于冠心病风险的研究报告,包括一些图形和统计输出. 相关视频:R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险 逻辑回归Logistic模型原理和R语言分类预测冠 ...
- 拓端tecdat|R语言线性回归和时间序列分析北京房价影响因素可视化案例
最近我们被客户要求撰写关于北京房价影响因素的研究报告,包括一些图形和统计输出. 目的 房价有关的数据可能反映了中国近年来的变化: 人们得到更多的资源(薪水),期望有更好的房子 人口众多 独生子女政策: ...
- 拓端tecdat|R语言用LOESS(局部加权回归)季节趋势分解(STL)进行时间序列异常检测
最近我们被客户要求撰写关于LOESS(局部加权回归)的研究报告,包括一些图形和统计输出. 这篇文章描述了一种对涉及季节性和趋势成分的时间序列的中点进行建模的方法.我们将对一种叫做STL的算法进行研究, ...
- R语言实战应用精讲50篇(十三)-如何使用JAVA调用R语言,两种语言的完美结合
前言 为什么要用java调用R? Java作为一个非常流行的编程语言,具有功能强大和简单易用两个特征.Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进 ...
- 如何在Jupyter中运行R语言(两种解决方案)
Python用Jupyter写分析记录比较舒服,学了R也想在Jupyter上运行. 复杂方案 安装R语言.Jupyter程序 在R Console中安装1 install.packages(c('re ...
- R语言 自定义函数之趣味程序--老虎机
****R语言 自定义函数之趣味程序--老虎机**** 自定义函数 自定义规则 自定义格式 案例:老虎机 老虎机符号准备 老虎机结果分类 老虎机得分计算 开始老虎机试玩 获奖感言 自定义函数 R语言作 ...
- 基于R和ArcGIS两种方法制作土地利用转移图详细教程
Part1背景 土地利用转移矩阵大家应该都会做,但是土地利用转移图还是有部分人不太会做,本期介绍下R和ArcGIS两种方法绘制土地利用转移图,大家多多分享.练习数据来源请引用:地理遥感生态网科学数据注 ...
- R语言的三种聚类方法
一.层次聚类 1)距离和相似系数 r语言中使用dist(x, method = "euclidean",diag = FALSE, upper = FALSE, p = 2) 来计 ...
最新文章
- PHP原生处理select结果集的函数介绍
- 自定义评分器Similarity,提高搜索体验
- 关于Git中的一些常用的命令
- typora将html转为格式,Typora 修改配置文件实现自定义标签样式(常用)
- python秒杀商品 多线程_Python——多线程
- Deep Learning(深度学习)学习笔记整理系列三
- http缓存机制之304状态码
- 高并发高可用的 架构实践
- 高价买的博客网站织梦模板
- Ubuntu16.04下 shell脚本中C语言形式的for循环用法
- Anroid性能优化系列——Improving Layout Performance(一)
- Vue教程20:Vuex入门
- MATLAB符号函数的求导
- mysql数据库的基本操作
- 数智学习 | 一文读懂数据安全分类分级
- javaSE之异常详解(1)
- 5G网络身份识别---详解5G-GUTI
- Bypass UAC 提权
- 关于送货单的格式要求?
- 【训练1】储蓄卡与信用卡