统计学-R语言-4.3

news/2024/2/25 19:48:19/文章来源:https://blog.csdn.net/2301_77225918/article/details/135569044

文章目录

  • 前言
  • 直方图
  • 茎叶图
  • 箱线图
  • 练习


前言

本篇介绍的是数值型数据怎么进行数据可视化,本篇介绍的有直方图、茎叶图、箱线图。


直方图

直方图(Histogram)用于描述连续型变量的频数分布,实际应用中常用于考察变量的分布是否对称;是否服从某种分布类型,如正态分布
直方图以矩形的面积表示各组段的频数或频率, 各矩形的面积总和为总频数(或等于1,此时是按照频率来计算的)
在R软件里用函数是hist()来作直方图,把probability参数设置为T是用频率作直方图,默认为F。
示例如下:
代码:

salary=c(2000,2100,2200,2350,2500,2900,3500,3800,2600,3300,3200,4000,4100,3100,4200)
par(mfrow=c(1,2))
hist(salary,main="工资的直方图")
hist(salary,main="工资的直图",probability=T)

继续对工资数据作直方图,结果如下图。
在这里插入图片描述
在R里还可以使用rug()函数把各个数据竖线(轴须线)描绘在X轴上,结果如下所示:

hist(salary,main="工资的直图",probability=T);rug(salary)

在这里插入图片描述

在R里还可以使用lines(density(x))函数增加核密度估计曲线(plot(density(x))),结果如下图所示:

lines(density(salary),col="red")

在这里插入图片描述

核密度估计曲线是对数据分布密度的估计,它为数据的分布提了一种平滑的描述,从中可以看出分布的大致形状。

在hist()中还可以指定breaks=n,就可以在直方图中得到大约n个条。还可以指定breaks为一个向量,然后对区间进行分割。

brk=seq(2000,4250,250)#对区间(2000,4250)按每间隔250划分
hist(salary,breaks=brk)

在这里插入图片描述

茎叶图

茎叶图(stem-and-leaf plot)的形状与功能和直方图非常相似,但它是一种文本化的图形。
茎叶图是一种可以较简练地表示数据信息的图表。在茎叶图中,每个数值都被分成两部分,打头的数字作为茎,尾随的数字作为叶。
茎沿竖直轴线放置,叶沿水平轴线堆放。
茎叶图与频数分布类似,但包含了更多信息。

茎叶图它的思路是将数组中的数按位数进行比较,将数的大小基本不变或变化不大的位作为一个主干(茎),将变化大的位的数作为分枝(叶),列在主干的后面,这样就可以清楚地看到每个主干后面的几个数,每个数具体是多少。
茎叶图与直方图不同,茎叶图保留原始资料的信息,可以从中统计出次数,计算出各数据段的频率或百分比。从而可以看出分布是否与正态分布或单峰偏态分布逼近。

在数据量不是很大时,茎叶图既显示了完全的原始数据,又显示了数据分布的形状。它像带有长短不一的叶子的茎。
茎叶图优于频数分布的一点是保留了每一个观测对象的真实值。
但是,当数据量很大时,茎叶图就不方便了。
在R软件里用函数stem()作茎叶图。

例题1:
下面一组数据是某生产车间30名工人某日加工零件的个数,请设计适当的茎叶图表示这组数据,并由图出发说明一下这个车间此日的生产情况
在这里插入图片描述
分析:以前两位数为茎,个位数为叶,可以作出相应的茎叶图,从而可据图分析数据的特征。
在这里插入图片描述

该生产车间的工人加工零件数大多都110到130之间,且分布较对称、集中,说明日生产情况稳定。茎叶图直观地反映了数据的集中趋势

例题2:
甲、乙两个小组各10名学生的英语口语测试成绩如下(单位:分),用茎叶图表示两小组的成绩,并判断哪个小组的成绩更整齐一些。
甲组:76,90,84,86,81,87,86,82,85,83
乙组:82,84,85,89,79,80,91,89,79,74

在这里插入图片描述
容易看出甲组成绩较集中,即甲组成绩更整齐一些。
评注:用茎叶图分析数据直观、清晰,所有信息都可以从这个茎叶图中得到。
在R中使用stem.leaf.backback()函数绘制背靠背茎叶图.

例题3:
对工资数据做茎叶图如下:
在这里插入图片描述

stem(salary)

在这里插入图片描述
与直方图相比,茎叶图在反映数据整体分布趋势 的同时还能准确反映出具体的数值大小,因此在 小样本情况下优势非常明显。

stem(salarym)

在这里插入图片描述
20000 的确是一个异常数据, 导致我们不能看清大部分数据的结构。

箱线图

箱线图( Boxplot Graph)是由一个箱子(box)和两条线段(whisker)组成的。
其绘制方法是:先根据上四分位数QU、下四分位数QL和中位数画出中间的箱子,箱子的长度为四分位数间距IQR=QU-QL
对于单组数据,可以绘制简单箱线图;对于多组数据,可以绘制批比较箱线图。
通过箱线图,不仅可以反映出一组数据分布的特征(对称?离群点?),还可以进行多组数据分布特征的比较。

箱线图上下两条线的长度可以有不同的选择
通常的选择为:如果没有数据值大于QU+1.5×IQR那么该线以数据最大值为端点,否则,线的上端点为上四分位数加上1.5倍的箱子长度,比该端点大的数值则分别在其上方按照其实际值点出。如果数据处于QU +1.5×IQR至 QU+3×IQR的范围内则用圆圈标出,超出了QU+3×IQR 的用星号标出
下面的线也类似。由QL至QL-1.5×IQR区间内的最小值向箱子的底部连线; QL -1.5×IQR至QL -3×IQR的范围内 用圆圈标出,小于QL -3×IQR的用星号标出。

单组数据箱线图的一般形式如下图所示:
在这里插入图片描述

通过箱线图的形状,就可以看出数据分布的特征,如下图所示:
在这里插入图片描述

对称分布的箱线图的特点是:中位数在箱子中间;上下相邻值到箱子的距离等长;离群点在上下内围栏外的分布也大致相同。
在这里插入图片描述

右偏分布的箱线图的特点是:中位数更靠近25%四分位数的位置;下相邻值到箱子的距离比上相邻值到箱子的距离短;离群点多数在上内围栏之外。
在这里插入图片描述

左偏分布的箱线图的特点是:中位数更靠近75%四分位数的位置;下相邻值到箱子的距离比上相邻值到箱子的距离长;离群点多数在下内围栏之外。
在这里插入图片描述

示例如下:
在R里箱线图的函数是boxplot(),若参数horizontal=F默认为垂直型,
而horizontal=T则为水平型。

par(mfrow=c(1,2))
boxplot(salary)#垂直型
boxplot(salary, horizontal=T)#水平型

在这里插入图片描述

相对于直方图侧重于对一个连续变量的分布情况进行考察,箱线图更注重于勾勒统计的主要信息,包括最小值最大值、上下四分位数以及中位数,并且适用于对多个连续变量同时考察,或者对一个变量分组进行考察。箱线图使用比较灵活,应用更为广泛
箱线图还可以检验离群值。离群值(outlier)就是明显远离于其他大部分数据某个或少数几个值。
如果观测值距箱线图底线Q1(第25百分位数)或顶线 Q3(第75百分位数)过远,如超出箱体高度(四分位数间距)的1.5倍以上,则可视该观测值为离群值。

示例:
对前面加了经理工资后的月工资数据进行离群值探索,结果如图所示。

boxplot (salarym)

在这里插入图片描述
从图可以看出,该数据有一个离群值,就是经理的工资,远远高于部门其他人的工资,因此被认为是离群值。


练习

1、为分析灯泡的使用寿命(单位:小时),在一批灯泡中随机抽取100只进行测试,得到了一些数据(提供数据exercise2_2,不用自己录入)
(1)绘制直方图和茎叶图,说明数据分布特点

load("C:/Users/86157/Desktop/ch2/exercise2_2.RData")
exercise2_2

直方图

dw<-exercise2_2$灯泡寿命
dw
par(mfrow=c(2,2),cex=0.7,mai=c(0.6,0.6,0.2,0.1))
hist(dw,xlim=c(2700,4200),ylim=c(0,30),labels=T,xlab ="灯泡寿命",ylab="频数",main="(a)直方图1")#每一条上方标注频数
rug(dw)
hist(dw,freq=FALSE,breaks=20,xlab="灯泡寿命",ylab="密度",main="直方图2",col="pink")
lines(density(dw),col="red")

茎叶图

stem(exercise2_2$灯泡寿命)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_925199.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java零基础——Vue基础篇

1.【熟悉】Vue简介 1.1 简介 它是一个构建用户界面单页面的框架 Vue是一个前端框架 https://www.pmdaniu.com/#file UI网站 UI 一般开发者使用蓝湖 工具 看着UI图 写接口 https://lanhuapp.com/web/#/item 是一个轻量级的MVVM&#xff08;Model-View-ViewModel&#xff…

maven管理使用

maven基本使用 一、简介二、配置文件三、项目结构maven基本标签实践(例子) 四、pom插件配置五、热部署六、maven 外部手动加载jar打包方式Maven上传私服或者本地 一、简介 基于Ant 的构建工具,Ant 有的功能Maven 都有,额外添加了其他功能.本地仓库:计算机中一个文件夹,自己定义…

Linux实操学习

Linux常用操作 一、帮助命令1. man1.1 基本语法1.2 快捷键1.3 注意事项 2. help2.1 基本语法2.2 注意事项 3. 常用快捷键 二、文件目录类1. 常规操作1.1 pwd1.2 cd1.3 ls 2. 文件夹操作2.1 mkdir2.2 rmdir 3. 文件操作3.1 touch3.2 cp3.3 rm3.4 mv 4. 文件查看4.1 cat4.2 more4…

国内外好用的 LLM 列表

视频来源&#xff1a;https://www.bilibili.com/video/BV1c64y157Qm/?vd_source1e841703c91b5b77fd20e5707bae49d2 下图是测试括号闭合能力的得分

windows系统下docker软件中使用ubuntu发行版本的linux系统

1.软件下载 官网下载地址 下载安装之后&#xff0c;再去微软商店下载wsl软件&#xff0c;可以直接用&#xff0c;或者也可以使用命令行拉取&#xff08;下面会讲&#xff09; 2.在docker里面创建容器的两种方法 2.1.命令行创建 前言&#xff1a;输入 winr 打开命令行进行下面…

软件测试|使用Python抓取百度新闻的页面内容

简介 作为技术工程师&#xff0c;在繁忙的工作中我们不一定有时间浏览发生的热点新闻&#xff0c;但是懂技术的我们不需要访问网站来看当下发生的大事&#xff0c;我们可以使用网络爬虫的技术来获取当下最新最热的新闻&#xff0c;本文就来介绍一下使用Python抓取一下百度新闻…

鸿蒙APP和Android的区别

鸿蒙&#xff08;HarmonyOS&#xff09;和Android是两个不同的操作系统&#xff0c;它们有一些区别&#xff0c;包括架构、开发者支持、应用生态和一些设计理念。以下是鸿蒙APP和Android APP之间的一些主要区别&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#…

码牛课堂首推——鸿蒙南北双向开发学习路线图标准版~

鸿蒙&#xff01;鸿蒙&#xff01;鸿蒙&#xff01; 要说2023-2024年IT圈最火爆的名词&#xff0c;一定是鸿蒙&#xff01; 2023年9月25日&#xff0c;华为发布会正式宣布2024年第一季度将推出HarmonyOS NEXT版本&#xff0c;这意味着鸿蒙原生应用开发将彻底摆脱Android手机系…

了解Python中的requests.Session对象及其用途

前言 在Python的网络编程中&#xff0c;requests库是一个非常流行的HTTP客户端库&#xff0c;用于发送各种类型的HTTP请求。在requests库中&#xff0c;requests.Session对象提供了一种在多个请求之间保持状态的方法本文将探讨Python中的requests.Session对象及其用途&#xf…

大数据Doris(五十六):SQL函数之地理位置函数

文章目录 SQL函数之地理位置函数 一、​​​​​​​ST_AsText(GEOMETRY geo)

动态规划day09(打家劫舍,树形dp)

目录 198.打家劫舍 看到题目的第一想法 看到代码随想录之后的想法 自己实现过程中遇到的困难 213.打家劫舍II 看到题目的第一想法 看到代码随想录之后的想法 自己实现过程中遇到的困难 337.打家劫舍 III(树形dp) 看到题目的第一想法 看到代码随想录之后的想法 自己实…

cad的模型怎么打散导入3d---模大狮模型网

将CAD中的模型打散并导入3D建模软件&#xff0c;需要以下步骤&#xff1a; 将CAD中的模型进行分组或分层&#xff1a;在CAD中&#xff0c;将模型按照不同的组或层进行分组或分层。这样可以方便地控制每个部分的显示和隐藏&#xff0c;在导入3D建模软件后&#xff0c;也可以更方…

鸿蒙开发-UI-渲染控制

鸿蒙开发-序言 鸿蒙开发-工具 鸿蒙开发-初体验 鸿蒙开发-运行机制 鸿蒙开发-运行机制-Stage模型 鸿蒙开发-UI 鸿蒙开发-UI-组件 鸿蒙开发-UI-组件-状态管理 鸿蒙开发-UI-应用-状态管理 文章目录 前言 一、渲染控制概述 二、条件渲染 1.使用规则 2.更新机制 三、循环渲染 1.接口…

POI-tl 知识整理:整理1 -> 利用模板向word中写入数据

1 文本传值 Testpublic void testText() throws Exception {XWPFTemplate template XWPFTemplate.compile("D:\\Idea-projects\\POI_word\\templates.docx");Map<String, Object> map new HashMap<>();map.put("title", "Hi, girl"…

Python 自学(八) 之模块

目录 1. import语句导入模块 P206 2. from ... import 语句导入模块 P207 3. 模块的搜索目录 sys.path P209 4. 以主程序的形式执行 __name__ P212 5. python中的包 P213 1. import语句导入模块 P206 同一目录下&…

AI教我学编程之C#类的基本概念(1)

前言 在AI教我学编程之C#类型 中&#xff0c;我们学习了C#类型的的基础知识&#xff0c;而类正是类型的一种. 目录 区分类和类型 什么是类&#xff1f; 对话AI 追问 实操 追踪属性的使用 AI登场 逐步推进 提出疑问 药不能停 终于实现 探索事件的使用 异步/交互操作 耗时操…

nginx代理七牛云http资源,节省https费用(亲测有效)

七牛云https费用太高了&#xff0c;通过配置服务器https代理到http访问&#xff01; location ~ /qiniu/(.*) { proxy_pass http://qiniu.myweb.cn/$1; proxy_set_header Host $proxy_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarde…

小程序学习-13

生命周期函数&#xff1a;自动按次序执行 onLoad和onReady比较常用在onReady中可以改标题&#xff08;如下图&#xff09; WXS是用来帮助开发者渲染页面结构的 过滤器&#xff1a;渲染数据之前&#xff0c;对数据做一层包装处理&#xff0c;过滤器处理的结果最终会渲染到页面上…

SpringBoot-项目部署

SpringBoot项目部署可以通过将项目打成可执行的jar包或war包来实现&#xff0c;也可以使用容器化技术如Docker将项目部署到云平台中。在部署时需要注意配置文件的位置和启动参数的设置&#xff0c;同时确保目标环境中的Java版本与项目所需的Java版本一致。部署完成后&#xff0…

Rust-类型

bool 布尔类型(bool)代表的是“是”和“否”的二值逻辑。它有两个值&#xff1a;true和false。 一般用在逻辑表达式中&#xff0c;可以执行“与”“或”“非”等运算。 char 字符类型由char表示。它可以描述任何一个符合unicode标准的字符值。在代码中&#xff0c;单个的字符…