R语言自定义两种统计量度:平均值和中位数,何时去使用?

简介: R语言自定义两种统计量度:平均值和中位数,何时去使用?

最常用的两种统计量度是平均值和中位数。两种度量均指示分布的中心值,即预期大多数数据点所处的值。但是,在许多应用程序中,考虑到手头的数据,考虑两种方法中的哪一种更为合适是很有用的。在这篇文章中,我们将研究这两个数量之间的差异,并提供建议。


均值

算术平均数是大多数人简单地称为  平均值。但是,确切地说,我们必须注意,平均值只是平均值的一种类型。在迷失于这些术语的复杂性之前,让我们继续进行均值的定义

均值定义为


假设我们有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的离群值,我们得出的结论是,中位数比平均值更合适。

相关文章
|
11月前
|
机器学习/深度学习 数据采集 数据可视化
R语言 一种功能强大的数据分析、统计建模 可视化 免费、开源且跨平台 的编程语言
R语言 一种功能强大的数据分析、统计建模 可视化 免费、开源且跨平台 的编程语言
243 1
|
29天前
|
数据挖掘 数据处理
R语言统计基本概念:探索描述性统计与推断统计的奥秘
【8月更文挑战第30天】描述性统计与推断统计是R语言统计分析中的两大基石。描述性统计帮助我们直观地了解数据的分布特征和基本属性,而推断统计则允许我们基于样本数据对总体进行推断和预测。在数据分析的实际应用中,两者相辅相成,共同构成了数据分析的完整框架。掌握这两大概念及其在R语言中的实现方法,对于提升数据分析能力和决策效率具有重要意义。
|
29天前
|
数据可视化
R语言自定义图形:ggplot2中的主题与标签设置
【8月更文挑战第30天】`ggplot2`作为R语言中功能强大的绘图包,其自定义能力让数据可视化变得更加灵活和多样。通过合理使用`theme()`函数和`labs()`函数,以及`geom_text()`和`geom_label()`等几何对象,我们可以轻松创建出既美观又富有表达力的图形。希望本文的介绍能够帮助你更好地掌握`ggplot2`中的主题与标签设置技巧。
|
4月前
|
数据可视化 前端开发 数据挖掘
R语言对综合社会调查GSS数据进行自举法bootstrap统计推断、假设检验、探索性数据分析可视化|数据分享(上)
R语言对综合社会调查GSS数据进行自举法bootstrap统计推断、假设检验、探索性数据分析可视化|数据分享
|
3月前
|
Python
R语言遍历文件夹求取其中所有栅格文件的平均值
通过NAvalue(tif_file_all) <- -10000这句代码,将值为-10000的像元作为NoData值的像元,防止后期计算平均值时对结果加以干扰。   接下来,我们通过file.path()函数配置一下输出结果的路径——其中,结果遥感影像文件的名称就可以直接以其所对应的条带号来设置,并在条带号后添加一个_mean后缀,表明这个是平均值的结果图像;但此外,这个仅仅是文件的名字,还需要将文件名与路径拼接在一起,才可以成为完整的保存路径,因此需要用到file.path()函数。最后,将结果图像通过writeRaster()函数加以保存即可,这句代码的解释大家同样参考R语言求取大量遥感
168 0
|
4月前
|
数据可视化
基于R语言股票市场收益的统计可视化分析
基于R语言股票市场收益的统计可视化分析
|
4月前
|
前端开发 数据可视化 算法
r语言Bootstrap自助法重采样构建统计量T抽样分布近似值可视化|代码分享
r语言Bootstrap自助法重采样构建统计量T抽样分布近似值可视化|代码分享
|
4月前
|
数据挖掘 开发工具 Android开发
R语言对git安卓包分类统计、聚类、复杂网络可视化分析
R语言对git安卓包分类统计、聚类、复杂网络可视化分析
|
4月前
|
数据可视化
R语言极值理论:希尔HILL统计量尾部指数参数估计可视化
R语言极值理论:希尔HILL统计量尾部指数参数估计可视化
|
4月前
|
算法 数据挖掘
R语言中的贝叶斯统计方法
【4月更文挑战第26天】R语言在贝叶斯统计中发挥着重要作用,提供如&quot;BUGS&quot;、&quot;Stan&quot;、&quot;JAGS&quot;等包来处理复杂模型和数值计算。贝叶斯方法基于概率论,涉及先验分布、似然函数、后验分布和MCMC模拟。&quot;BUGS&quot;适用于复杂层次模型,&quot;Stan&quot;则在大规模数据和复杂模型上有优势。
61 2

热门文章

最新文章