统计学-R语言-4.3

文章目录

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


前言

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


直方图

直方图(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.rhkb.cn/news/236964.html

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

相关文章

通过代理连接sftp

通过nginx代理连接sftp 1.问题描述2.代码实现3.nginx配置3.1 创建sftp.stream文件3.2 修改nginx配置 4.重启nginx生效 1.问题描述 问题是这样的。我们现在需要在微服务所在内网的A机器连接到外网的sftp&#xff0c;但是网络又不能直接到达。然后A机器到B机器是通过的&#xff…

怎么找微信服务器的IP地址

首先&#xff0c;让微信客户端在PC端运行&#xff0c;在任务管理器->详细信息中&#xff0c;找到WeChat.exe的进程&#xff0c;找到PID 就是微信进程的ID号&#xff0c;如下图所示&#xff1a; 打开一个命令行窗口&#xff0c;cmd或者powershell窗口都可以&#xff0c;输入…

使用FreeBASIC设计8051单片机汇编编译器

在STC论坛上看到有人用C语言实现8051汇编编译器&#xff08;源码&#xff09;&#xff0c;好奇下&#xff0c;试着用FB写了一下。 基本原理就是通过分析汇编文件然后转换为机器码。以下是51汇编与机器码对应的表格&#xff08;数据来自网络&#xff0c;如果发现有误请联系QQ149…

Qt6安装教程

由于QT在5.14版本后不再有离线安装版本&#xff0c;均需要通过在线安装 1.下载exe安装包 打开Open Source Development | Open Source License | Qt&#xff0c;往下拉&#xff0c;找到红框所示的按钮 点进去后点击Download即可 2 安装 下载完成后可得到qt-unified-windows…

通过 CMake 制作库文件 静态库 和 动态库

hehedalinux:~/Linux/loveDBTeacher-v2$ tree . ├── CMakeLists.txt ├── include │ └── head.h ├── main.c └── src├── add.c├── div.c├── mult.c└── sub.c CMake Calc 项目 在这里有add.c,div.c,mult.c,sub.c,main.c,head.h 二、生成静态库 …

【抓包教程】BurpSuite联动雷电模拟器——安卓高版本抓包移动应用教程

前言 近期找到了最适合自己的高版本安卓版本移动应用抓HTTP协议数据包教程&#xff0c;解决了安卓低版本的问题&#xff0c;同时用最简单的办法抓到https的数据包&#xff0c;特此进行文字记录和视频记录。 前期准备 抓包工具&#xff1a;BurpSuite安卓模拟器&#xff1a;雷…

Docker之数据卷的使用

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是君易--鑨&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;推荐给大家我的博客专栏《Docker之数据卷的使用》。&#x1f3af;&#x…

SSM框架学习笔记04 | SpringMVC

文章目录 一、SpringMVC简介二、 请求与响应1. 请求映射路径2. get请求与post请求3. 响应 二、REST风格1.简介 三、 SSM整合四、拦截器1. 定义拦截器2.配置拦截器3.拦截器执行顺序4.拦截器参数5.多个连接器工作流程分析6.拦截器链的运行顺序 一、SpringMVC简介 SpringMVC技术与…

响应式Web开发项目教程(HTML5+CSS3+Bootstrap)第2版 例3-1 CSS3过渡

代码 <!doctype html> <html> <head> <meta charset"utf-8"> <title>CSS3 过渡</title> <style> /*显示*/ .box {width: 100px;height: 100px;background-color: #eee;/*透明度*/opacity: 1;/*过渡*/transition: 3s; } /…

搭建 MyBatis 环境

目录 1.添加依赖 2.数据库连接配置 3.配置XML路径 4.下载插件MyBatisX 5.如何使用 6.示例 1.添加依赖 创建新项目时添加两个依赖: MyBatis Framewrok 和 MySQL Driver 。 如果是在已经创建好的项目中配置mybatis环境。需要先下载一个插件&#xff1a;EditStarters 。 然…

【AIGC】Controlnet:基于扩散模型的文生图的可控性

前言 controlnet可以让stable diffusion的生图变得可控。 文章连接&#xff1a;https://arxiv.org/pdf/2302.05543.pdf 摘要 冻结了stable diffusion的预训练模型并重用它的预训练编码层神经网络结构与零初始化卷积层连接&#xff0c;从零开始逐渐增加参数&#xff0c;并确…

DNS域名解析服务器

前言 一、域名 1、域名的概念和作用 2、域名与ip地址的关系 3、域名的构成 二、DNS服务器 1、DNS服务器的概念和作用 2、DNS服务器的优势 3、DNS服务器的类型 4、DNS服务器的查询方式 4.1 递归查询 4.2 迭代查询 5、DNS服务器查询原理过程 6、本地系统上的域名解析…

SQL-修改数据

&#x1f389;欢迎您来到我的MySQL基础复习专栏 ☆* o(≧▽≦)o *☆哈喽~我是小小恶斯法克&#x1f379; ✨博客主页&#xff1a;小小恶斯法克的博客 &#x1f388;该系列文章专栏&#xff1a;重拾MySQL &#x1f379;文章作者技术和水平很有限&#xff0c;如果文中出现错误&am…

Vant2组件库van-list+Toast下拉加载滚动条回顶问题

目录 List 列表 Toast 轻提示 解决方案 1、不使用 Toast 的 加载提示 2、修改调整 pointer-event 属性值 3、判断是否为第一次加载再使用 背景 &#xff1a; 移动端项目 开发时&#xff0c;有数据长列表展示的场景需求&#xff0c;此时就用到了 Vant2 组件库里面的 <v…

JRebel热部署

热部署 什么热部署&#xff0c;简单来说我们正常的java项目需要编写java代码&#xff0c;但电脑执行的可不是java代码&#xff0c;而是转换后的class文件。这也意味着我们对程序进行微调&#xff0c;也要重新编译才能让程序展示我们需要的状态 而且不仅仅是我们手写的java文件…

7.11、Kali Linux中文版虚拟机安装运行教程

目录 一、资源下载准备工作 二、安装教程 三、kali linux换源 四、apt-get update 报错 一、资源下载准备工作 linux 中文版镜像历史版本下载:http://old.kali.org/kali-images/ 大家可以自行选择版本下载&#xff0c;本人下载的是2021版本 二、安装教程 打开vmvare wokst…

ZooKeeper 实战(二) 命令行操作篇

文章目录 ZooKeeper 实战(二) 命令行操作篇1. 服务端命令1.1. 服务启动1.2. 查看服务1.3. 重启服务1.4. 停止服务 2. 客户端命令2.1. 启动客户端2.2. 查看节点信息查看根节点详情 ls -s /添加一个watch监视器 ls -w /列举出节点的级联节点 ls -R / 2.3. 查看节点状态2.4. 创建节…

小学信息科技Python课程第2课:坐标与画笔

一、turtle画布与坐标系 在同一平面互相垂直且有公共原点的两条数轴构成平面直角坐标系。在坐标系中&#xff0c;水平方向的轴都称为x轴&#xff0c;垂直方向的轴都称为y轴 它们相交于O点&#xff0c;在这一个点里&#xff0c;x轴的值为0&#xff0c;y轴的值也为0&#xff0c;所…

c#图片作为鼠标光标

图片转换为鼠标光标代码如下&#xff1a; private void Form1_Load(object sender, EventArgs e) {//button1.Cursor System.Windows.Forms.Cursors.Hand;Bitmap bmp new Bitmap("780.jpg");Cursor cursor new Cursor(bmp.GetHicon());button1.Cursor cursor;} …

如何异地链接Pycharm服务器进行远程开发并实现与公司服务器资源同步

文章目录 一、前期准备1. 检查IDE版本是否支持2. 服务器需要开通SSH服务 二、Pycharm本地链接服务器测试1. 配置服务器python解释器 三、使用内网穿透实现异地链接服务器开发1. 服务器安装Cpolar2. 创建远程连接公网地址 四、使用固定TCP地址远程开发 本文主要介绍如何使用Pych…