原文链接:

http://tecdat.cn/?p=11085​tecdat.cn

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

均值

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

均值定义为

假设我们有x =(30,25,40,41,30,41,50,33,40,1000)x =(30,25,40,41,30,41,50,33,40,1000),这是什么意思?我们可以通过以下方式进行计算:

  1. x <- c(30, 25, 40, 41, 30, 41, 50, 33, 40, 1000)
  2. # the way of the beginner (don't do this!):
  3. x.mean <- 0
  4. for (xi in x) {
  5. x.mean <- x.mean + xi
  6. }
  7. x.mean <- x.mean / length(x)
  8. print(x.mean)
## [1] 133

  1. # a better way:
  2. x.mean <- sum(x) / length(x)
  3. print(x.mean)
## [1] 133

  1. # the right way:
  2. x.mean <- mean(x)
  3. print(x.mean)
## [1] 133

可以简单地使用 mean 函数,而不必自己实现均值。

中位数

中位数是指数字列表中最中心的值。尽管很容易解释,但中位数比平均值更难计算。这是因为为了找到中位数,必须对列表中的数字进行排序。此外,我们必须区分两种情况。如果列表中元素的数量为奇数,则中位数是列表中最中心的成员。但是,如果列表中有偶数个元素,则需要确定两个最中心的数字的算术平均值。

我们可以通过以下方式对此进行形式化。令xx为数字的排序向量。那么中位数是

让我们看看如何获​​得R中的中位数。

  1. x.median <- mymedian(x)
  2. print(x.median)
## [1] 40

  1. # the easy way:
  2. x.median <- median(x)
  3. print(x.median)
## [1] 40

均值和中位数的比较

定义了两种类型的平均值之后,我们现在可以研究两者之间的差异。尽管算术平均值考虑 了向量中的所有值,但中值仅考虑了 值的 子集。这是因为中位数基本上丢弃了除最中心值以外的所有矢量元素。中位数的此功能可能会有很大的不同。正如我们在示例中所看到的,xx的平均值(133)远大于其中位数(40)。在这种情况下,这是因为中位数会丢弃xx中的值1000,而算术平均值会考虑它。

这使我们想到了我们要回答的问题:何时使用均值以及何时使用中位数?答案很简单。如果您的数据包含离群值(例如在我们的示例中为1000),那么 通常宁愿使用中位数,因为平均值的值将由离群值而不是典型值主导。总之,如果 正在考虑均值,请检查数据是否存在异常值。一种简单的方法是绘制数据的直方图。

对于我们的数据,直方图清楚地显示了值为1000的离群值,我们得出的结论是,中位数比平均值更合适。

r 语言 ggplot上添加平均值_R语言自定义两种统计量度:平均值和中位数,何时去使用?相关推荐

  1. r 语言 ggplot上添加平均值_R语言中ggplot2包作数据分布情况下的统计图实例学习(一)

    1.小提琴图 小提琴图可以可视化一组或几组数字变量的分布. 问题:您想制作一个小提琴图来比较不同组的密度估计.用gcookbook包与ggplot2包分别绘制. 解决问题: 使用geom_violin ...

  2. r 语言 ggplot上添加平均值_技术贴 | R语言:ggplot堆叠图、冲积图、分组分面、面积图...

    点击蓝字↑↑↑"微生态",轻松关注不迷路 利用R语言堆叠图,我们可以将一个项目中所有样品的物种组成展示出来.下面介绍如何利用R语言进行物种组成分析和可视化.过程分为以下几步: 1) ...

  3. 二十万字带你入门C语言-史上最强C语言教程(汇总篇)

    一.前言 至此,史上最强C语言教程系列已经全部完成,今天是给大家来做一个汇总,笔者目前已经完成了C语言阶段的学习,一直以来感谢大家的陪伴与支持,笔者后续还会继续更新C++.数据结构.Linux.Mys ...

  4. ubuntu安装python3.8_在Ubuntu 18.04系统上安装Python 3.8的两种方法

    本文介绍在Ubuntu 18.04/16.04系统上安装Python 3.8的两种不同方法,第一个选择是从Deadsnakes PPA安装deb软件包,第二个选择是从源代码构建,当前Python 3. ...

  5. python matplotlib在一张画布上画多个图的两种方法,plt.subplot(),plt.subplots()。

    Matplotlib在一张画布上画多个图的两种方法,plt.subplot,plt.subplots. 目录 回顾 plt.subplots()画法 plt.subplot()画法 保存 回顾 之前也 ...

  6. excel日历弄到html,Excel中进行添加日历控件的两种方法

    有时我们在运用Excel表格的时候会运用到日历的控件,可是小伙伴们却不知道在哪里添加.那么我们来看一下,它到底躲藏在哪里,又该怎么添加呢?今天,学习啦小编就教大家在Excel中进行添加日历控件的两种方 ...

  7. r语言t检验输出检验统计量_R语言中实现T检验及可视化

    T检验,亦称student t检验(Student's t test),主要用于样本含量较小(例如n < 30),总体标准差σ未知的正态分布.T检验是用t分布理论来推论差异发生的概率,从而比较两 ...

  8. r语言怎么做经验分布_R语言如何做马尔科夫转换模型markov switching model

    原文链接: R语言如何做马尔科夫转换模型markov switching model​tecdat.cn 假设 有时间序列数据,如下所示.经验表明,目标变量y似乎与解释变量x有关.然而,乍一看,y的水 ...

  9. r语言 分类变量 虚拟变量_R语言中的变量

    r语言 分类变量 虚拟变量 R语言| 变数 (R Language | Variables) In the previous tutorial, we have come across the bas ...

最新文章

  1. 计算机视觉中本质矩阵的概念,【计算机视觉】Lecture 19:本质矩阵和基础矩阵...
  2. 基于前后端分离实现阿里云对象存储小案例
  3. mybatis默认的数据源连接池(PooledDataSource和UnPooledDataSource)
  4. centos7.2 Apache+PHP7.2+Mysql5.6环境搭建
  5. Tesseract Ocr文字识别
  6. 1008. 数组元素循环右移问题 (20)-PAT乙级真题
  7. MySQL中select * for update锁表的范围
  8. mysql更改密码_Mysql更改密码、连接mysql、mysql常用命令
  9. PVE直通Intel核显虚拟机配置ffmpeg-qsv硬件加速
  10. VSCode安装插件,使用本地下载vsix文件
  11. b站上的计算机课程有哪些,B站课程排行榜,这届大学生最爱学什么?
  12. wex5 java_WeX5简介
  13. JAVA基础---函数式接口、Stream流
  14. clean-label backdoor attacks 论文笔记
  15. 火车头采集器计划任务设置时间间隔无效问题解决
  16. 云图说 | 勒索病毒防治解决方案
  17. SPCA5XX摄像头驱动源码分析
  18. 网络安全之KALI使用
  19. WMCMS小说系统采集插件-WMCMS小说系统采集器下载
  20. 期货交易原理(期货交易原理与实务)

热门文章

  1. [转载] 七龙珠第一部——第130话 悟空的敌人竟是悟空
  2. ActionContext.getContext()的用法总结
  3. object-c 队列
  4. java异常处理图片_Java处理图片时出现异常
  5. 推荐 GitHub 2K+ 星:前端监控工具 - webfunny 项目
  6. mysql 历史版本下载
  7. 不小心删表删库了,还能救
  8. JVM、GC看这一篇就够了!
  9. Dockerfile指令详解:WORKDIR 指定工作目录
  10. Kubernetes的三种集群外部访问方式及使用场景说明:NodePort、LoadBalancer和Ingress