统计学-R语言-4.7

文章目录

  • 前言
  • 描述水平的统计量
    • 平均数
    • 分位数
      • 中位数
      • 四分位数
    • 众数
    • 描述差异的统计量(数据离散程度)
      • 极差
      • 四分位差
      • 方差和标准差
      • 变异系数
      • 标准分数
  • 描述分布形状的统计量
    • 偏度与偏度系数
    • 峰度与峰度系数
  • 数据的综合描述
    • 综合描述的R函数
    • 综合描述的实例
  • 总结


前言

本篇文章将介绍数据的描述统计量。


描述水平的统计量

平均数

平均数也称为均值,常用的统计量之一
消除了观测值的随机波动
易受极端值的影响
根据总体数据计算的,称为总体平均数,记为;根据样本数据计算的,称为样本平均数,记为在这里插入图片描述
设一组数据为:x1 ,x2 ,… ,xn (总体数据xN) 。


计算30名学生考试分数的加权平均数

 load("C:/example/ch3/example3_2.RData")
 weighted.mean (example3_2$组中值,example3_2$人数)#example3_2$人数权数向量

在这里插入图片描述

分位数

中位数

排序后处于中间位置上的值。不受极端值影响。

在这里插入图片描述

四分位数

用3个点等分数据。排序后处于25%和75%位置上的值。
在这里插入图片描述
30名学生的考试分数的中位数。(example3_1)

load("C:/example/ch3/example3_1.RData")
median(example3_1$分数)

计算30名学生考试分数的四分位数。(example3_1)

load("C:/example/ch3/example3_1.RData")
quantile(example3_1$分数,probs=c(0.25,0.75),type=6)

用R计算汇总输出基本的描述统计量。(example3_1)

load("C:/example/ch3/example3_1.RData")
summary(example3_1$分数)  # 默认使用type=7

众数

一组数据中出现次数最多的变量值;
适合于数据量较多时使用;
不受极端值的影响;
一组数据可能没有众数或有几个众数。

编写函数计算众数(example3_1)

load("C:/example/ch3/example3_1.RData")
mode<-function(x){
ux<-sort(unique(x))   # 列出每一个的数值并排序,unique主要是返回一个把重复元素或行给删除的向量、数据框或数组
tab<-tabulate(match(x,ux))      # 比较x与ux中相同的数值,列出它们在ux中位置,再计算每个位置的频数
 ux[tab==max(tab)]              # 找出ux对象中频数最多的元素
 }
mode(example3_1$分数)           # 使用mode函数计算对象的众数

which.max函数 —无众数返回1,双众数只返回第一个。

load("C:/example/ch3/example3_1.RData")	
which.max(table(example3_1$分数))
14     #众数在频数分布表的第14位

描述差异的统计量(数据离散程度)

极差

一组数据的最大值与最小值之差
离散程度的最简单测度值
易受极端值影响
未考虑数据的分布
计算公式为:
在这里插入图片描述

load("C:/example/ch3/example3_1.RData")
R<-max(example3_1$分数)-min(example3_1$分数)
R
# 或写为:
R<-diff(range(example3_1$分数))
R

四分位差

也称四分位距。上四分位数与下四分位数之差
反映了中间50%数据的离散程度
不受极端值的影响
用于衡量中位数的代表性
R函数:

IQR(example3_1$分数,type=6)

在这里插入图片描述

计算30名学生考试分数极差和四分位差
计算极差

load("C:/example/ch3/example3_1.RData")
range<-max(example3_1$分数)-min(example3_1$分数)
range

计算四分位差

IQR(example3_1$分数,type=6)

方差和标准差

数据离散程度的最常用测度值
反映各变量值与均值的平均差异
根据总体数据计算的,称为总体方差(标准差),记为在这里插入图片描述
;根据样本数据计算的,称为样本方差(标准差),记为s2(s)。

在这里插入图片描述

计算30名学生考试分数的方差和标准差。
方差

load("C:/example/ch3/example3_1.RData")
var(example3_1$分数)

标准差

sd(example3_1$分数)

变异系数

标准差与其相应的均值之比
对数据相对离散程度的测度
消除了数据水平高低和计量单位的影响,其数值越大,说明数据的相对离散程度也就越大。
用于对不同组别数据离散程度的比较,计算公式为:
在这里插入图片描述
(数据: example3_9. RData)在奥运会女子10米气手枪比赛中,每个运动员首先进行每组10枪共4组的预赛,然后根据预赛总成绩确定进入决赛的8名运动员。决赛时8名运动员进行10枪射击,再将预赛成绩加上决赛成绩确定最后的名次。在2008年8月10日举行的第29届北京奥运会女子10米气手枪决赛中,进入决赛的8名运动员最后10枪的决赛成绩如下表所示。计算平均数、标准差和变异系数,评价运动员的射击水平及发挥的稳定性,并结合箱线图进行分析。
在这里插入图片描述
如果各运动员决赛的平均成绩差异不大,可以直接比较标准差的大小,否则需要计算变异系数。R代码和结果如下所示:

load("C:/example/ch3/example3_9.RData")
mean<-apply(example3_9,2,mean)#apply()函数把一个function作用到数据对象中的每一行或者每一列中,简单的说,apply函数经常用来计算矩阵中行或列的均值、标准差、方差的函数
sd<-apply(example3_9,2,sd)
cv<-sd/mean
x<-data.frame("平均环数"=mean,"标准差"=sd,"变异系数"=cv)
round(x,4)

在这里插入图片描述

par(cex=.6,mai=c(.7,.7,.1,.1))
boxplot(example3_9,notch=TRUE,col="lightblue",ylab="射击环数", xlab="运动员")

在这里插入图片描述
从变异系数可以看出,在最后10枪的决赛中,发挥比较稳定的运动员是塞尔维亚的亚斯娜·舍卡里奇(变异系数为0.0369)和中国的郭文珺(变异系数为0.0427),发挥不稳定的运动员是蒙古国的卓格巴德拉赫·蒙赫珠勒(变异系数为0.0764)和波兰的莱万多夫斯卡·萨贡(变异系数为0.0754)。由于郭文珺的平均环数远高于其他选手,可以很好地佐证上述结论且发挥稳定,最终获得了本届奥运会女子10米气手枪决赛的金牌。箱线图也可以很好地佐证上述结论。

标准分数

对某一个值在一组数据中相对位置的度量。也称标准化值
可用于判断一组数据是否有离群点(outlier)
比如,全班的平均考试分数为80分,标准差为10分,如果一个学生的考试分数是90分,表示距离平均分数有1个标准差的距离。这里的1就是这个学生考试成绩的标准分数。标准分数描述的是某个数据与平均数相比相差多少个标准差,它是某个数据与其平均数的差除以标准差后的数值。设标准分数为z,
计算公式为
在这里插入图片描述

数据:example3_1.RData)沿用例3—1。计算30名学生考试分数的标准分数

load("C:/example/ch3/example3_1.RData")
as.vector(round(scale(example3_1$分数),4))

在这里插入图片描述
注:函数scale(x,)用于计算标准分数,x为向量或矩阵。as. vector(x)函数将结果 以向量形式输出,round(x)函数将结果保留4位小数。
思考:为什么标准分数能判断一组数据是否有离群点?
第一个学生的标准分数为0.3784,表示这个学生的考试分数与平均分数(80分)相比高出0.3784个标准差;第二个学生的标准分数为-1.8919,表示其考试分数与平均分数相比低1.8919个标准差。其余的含义类似。
根据标准分数可以判断一组数据中是否存在离群点。经验表明:当一组数据对称分布时,约有68%的数据在平均数加减1个标准差的范围之内,约有95%的数据在平均数加减2个标准差的范围之内,约有99%的数据在平均数加减3个标准差的范围之内。可以想象,一组数据中低于或高于平均数3倍标准差之外的数值是很少的,因此通常将3个标准差之外的数据确定为离群点。
经验法则表明:当一组数据对称分布时
约有68%的数据在平均数加减1个标准差的范围之内
约有95%的数据在平均数加减2个标准差的范围之内
约有99%的数据在平均数加减3个标准差的范围之内

描述分布形状的统计量

偏度与偏度系数

K.Pearson于1895年首次提出。指数据分布的不对称性
测度统计量是偏度系数(coefficient of skewness SK)
𝑆𝐾=𝟎为对称分布;𝑆𝐾>𝟎为右偏分布;𝑆𝐾<𝟎为左偏分布
𝑆𝐾大于1或小于−1,为高度偏度分布; 𝑆𝐾在0.5~1或−1~−0.5之间,为是中等偏度分布; 𝑆𝐾越接近0,偏斜程度就越低。
计算公式
在这里插入图片描述

峰度与峰度系数

在这里插入图片描述
在这里插入图片描述
不同分布的偏度系数和峰度系数。

来自不同分布的模拟数据,样本量=5000
library(e1071) # 加载“skewness”和“kurtosis”函数包
par(mfrow=c(1,3),mai=c(0.7,0.5,0.2,0.1))
mf<-function(x){
hist(x,probability=T,col='lightblue',xlab="x",ylab="Density",
sub=paste("skewness=",round(skewness(x),digits=4)),#paste函数将他的参数转换为字符串并连接他们
main=paste("kurtosis=",round(kurtosis(x),digits=4)))
lines(density(x),col='red',lwd=2)
}
n<-5000
mf(rchisq(n,10))#咖方分布
mf(rnorm(n))
mf(-rchisq(n,10)+36)
#注:每次运行上述代码都会得到略有不同的分布形状和偏度系数及峰度系数,可以反复进行模拟

在这里插入图片描述
沿用例3-1。计算30名学生考试分数的偏度系数和峰度系数
计算偏度系数

library(agricolae) 
skewness(example3_1$分数)

计算峰度系数

kurtosis(example3_1$分数)

偏度系数和峰度系数有不同的计算方法,R的e1071包中提供了各种方法的介绍,type=2与上述结果相同。
结果显示,30名学生考试分数的偏度系数为-0.8313613,表示考试分数的分布为左偏分布,且偏斜程度较大。峰度系数为-0.3514637,说明考试分数分布的峰值比标准正态分布的峰值要略低一些。

数据的综合描述

综合描述的R函数

绘制使用pastecs包中的stat.desc()函数计算描述统计量

load("C:/example/ch3/example3_9.RData")
library(pastecs)
round(stat.desc(example3_9),4)

使用psych包中的describe()函数计算描述统计量

library(psych)
describe(example3_9)

综合描述的实例

在实际分析中,通常要对数据从图表和统计量两个方面同时进行描述。通过如下实例来说明对数据进行综合描述的基本思路:
60个大学生的调查数据(部分)(example3_12)
在这里插入图片描述
提示:这里涉及两个类别变量和一个数值变量。对于性别和家庭所在地两个类别变量,可以对其频数进行计数,计算百分比,并画出条形图和饼图等进行描述。对于月生活费支出变量,可以绘制直方图、茎叶图、箱线图等来观察其分布特征,并计算均值和标准差等统计量进行分析。
首先,对性别和家庭所在地两个类别变量统计频数,观察各自的分布状况。
使用summary函数对类别数据计数和对数值数据计算描述统计量(example3_12)

summary(example3_12) 

在这里插入图片描述
其次,对月生活费支出做整体描述。画出60个学生月生活费支出的直方图、茎叶图和箱线图,观察月生活费支出的分布状况。
绘制带有箱线图、轴须线和密度估计的直方图

load("C:/example/ch3/example3_12.RData")
attach(example3_12)
par(fig=c(0,0.8,0,0.8),cex=0.8)
hist(月生活费支出,xlab="月生活费支出",ylab="密度",freq =FALSE,col="lightblue",main="")
rug(jitter(月生活费支出))
lines(density(月生活费支出),col="red")
par(fig=c(0,0.8,0.35,1),new=TRUE)
boxplot(月生活费支出,horizontal=TRUE,axes=FALSE)
par(fig=c(0,0.8,0.5,1),new=TRUE)
boxplot(月生活费支出,horizontal=TRUE,axes=FALSE)

在这里插入图片描述
绘制茎叶图

library(aplpack)  
library(aplpack)
stem.leaf(example3_12$月生活费支出)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
从图中可以看出,大学生月生活费支出的分布基本上是对称的,也就是以均值为中心,两侧依次减少,这基本上符合大学生生活费支出的特点。

再次,分别按性别和家庭所在地进行分类描述。分析不同性别和不同家庭所在地的学生月生活费支出的特征,看看性别和家庭所在地对生活费支出是否有影响.分别按性别和家庭所在地分类计算描述统计量的R代码和结果如下所示

my_summary<-function(x){
  library(agricolae) 
  with(x,data.frame(
     N=length(月生活费支出),
    "平均数"=mean(月生活费支出),
    "中位数"=median(月生活费支出),
    "标准差"=sd(月生活费支出),
"全距"=max(月生活费支出)-min(月生活费支出),
"变异系数"=sd(月生活费支出)/mean(月生活费支出),
    "偏度系数"=skewness(月生活费支出)
    ))
}
 library(plyr)
 ddply(example3_12,.(性别),my_summary)
   ddply(example3_12,.(家庭所在地),my_summary)
    注:首先编写了包含关心的统计量的汇总函数。plyr包中的ddply函数可以对数据分组应用统计函数,函数 ddply(data, .variables,fun,)中的data为数据集, .variables指对哪个变量分组,fun为应用的统计函数。

在这里插入图片描述
结果显示,女生月生活费支出的平均数和中位数均高于男生,同时女生生活费支出的标准差和全距也都大于男生,相应的变异系数CV女=0.1750539>CV男=0.1619382,说明女生生活费支出的离散程度大于男生。从分布形态看,女生生活费支出的偏度系数是0.5028245,为右偏分布,而男生生活费支出的偏度系数是-0.5485891,为左偏分布。

在这里插入图片描述
此外,还可以同时按性别和家庭所在地分类描述其月生活费支出,也就是按性别分类的同时再按家庭所在地分类,然后计算各自的描述统计量,如均值、中位数、标准差、变异系数、极差、偏度系数等。
同时按性别和家庭所在地分类描述

library(reshape)
library(agricolae)
mystats<-function(x)
{c(n=length(x),mean=mean(x),median=median(x),sd=sd(x),CV=sd(x)/mean(x),R=(max(x)-min(x)),SK=skewness(x))}
 dfm<- melt(example3_12,measure.vars="月生活费支出",id.vars=c("性别","家庭所在地"))
cast(dfm,性别+家庭所在地+variable~., mystats)

在这里插入图片描述
1.mystats为自编函数,计算所需的统计量;melt为融合数据,指明要描述的数值变量和类别变量;cast重新构建输出结果的数据框。
2.安装doBy包,使用 summaryBy(月生活费支出~性别+家庭所在地,data=example3_12,FUN= mystats)可以得到类似的结果。

为比较不同性别和不同家庭所在地的学生月生活费支出的分布状况,还可以按类别分别绘制点图和箱线图(也可以绘制直方图)。
按性别和家庭所在地分类绘制点图

library(lattice)
stripplot(月生活费支出~家庭所在地+性别,col=c("red","blue"),pch=c(19,8),cex=0.7)

在这里插入图片描述
图显示,女生支出的平均水平明显高于男生;大城市和中小城市的平均支出水平差异不大,乡镇地区的平均支出水平偏低。

按性别和家庭所在地分类绘制箱线图

boxplot(月生活费支出~家庭所在地*性别,col=c(2:4),ylab="月生活费支出")

在这里插入图片描述

图显示,大城市女生支出的平均水平明显高于中小城市和乡镇地区,该图还可以用于比较按性别和按家庭所在地分类的学生月生活费支出分布的特点。


总结

本篇是对数据描述的统计量进行的最后一个篇章的介绍,有部分的例题作为介绍,希望对大家的学习有所帮助。

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

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

相关文章

Linux安装Rdkafka PHP 扩展(Kafka使用教程)

以是centos为例 #可以查看php版本 php -v#查看php安装的扩展库 php -m 1、首先&#xff0c;确保你已经安装了 PHP 和相关的开发工具。你可以使用以下命令来安装它们&#xff1a; sudo yum install php-devel 中间会问你是否ok&#xff0c;输入y回车&#xff0c;出现complete…

【总结】浅谈深度学习算法与硬件协同优化

写在前面 本文总结了笔者本科期间关于深度神经网络算法与硬件协同优化的思路和常用方法&#xff0c;希望能够给入门此方向的同学带来一定的启发。笔者学疏才浅&#xff0c;如有问题欢迎私信或评论区讨论交流&#xff01; 一、背景与意义 深度神经网络(Deep Neural Network, …

从理论到实践:数字孪生技术的全面应用探讨

数字孪生是一种将实际物体或系统的数字模型与其实时运行状态相结合的概念。这一概念的核心在于创建一个虚拟的、与真实世界相对应的数字副本&#xff0c;以便监测、分析和优化实体系统的性能。 简单理解&#xff0c;数字孪生就是在一个设备或系统的基础上&#xff0c;创造一个…

快速入门Torch读取自定义图像数据集

真有用读取自定义数据集 学习新技术当然首先要看官网了就这&#xff1f;&#xff1f;&#xff1f;官方提供了许多内置好的数据集&#xff0c;但是我需要自定义啊&#xff01;&#xff01;&#xff01;我是谁&#xff1f;我在哪&#xff1f;我在干什么&#xff1f;完全不知道如何…

FFMPEG命令生成各国国旗

文章目录 亚洲篇中国~待补充朝鲜~待补充韩国~待补充蒙古~待补充日本越南~待补充老挝 欧洲篇挪威~待补充瑞典~待补充芬兰~待补充冰岛~待补充丹麦~待补充爱沙尼亚拉脱维亚立陶宛白俄罗斯~待补充乌克兰摩尔多瓦~待补充俄罗斯德国 亚洲篇 中国~待补充 朝鲜~待补充 韩国~待补充 …

Ubuntu 20.04扩容磁盘命令:Ubuntu 20.04扩容系统主分区教程(PV VG LV)

前置知识&#xff1a; 磁盘 最基础的存在&#xff0c;物理磁盘 pv 物理卷&#xff08;同一磁盘 可以划分多个物理卷&#xff09; vg 卷组 &#xff08;一个到多个pv可组成一个卷组&#xff09; lv 逻辑卷 &#xff08;卷组可以划分为多个逻辑卷&#xff09;Ubuntu20.4扩容磁…

使用Python编写一个渗透测试探测工具

本篇将会涉及&#xff1a; 资源探测一个有用的字典资源第一个暴力探测器 资源探测 资源探测在渗透测试中还是属于资源的映射和信息的收集阶段。 主要有以下三个类型&#xff1a; 字典攻击暴力破解模糊测试 字典攻击&#xff0c;在破解密码或密钥的时候&#xff0c;通过自定…

手把手教你学会接口自动化系列十四-如何用python操作excel的sheet自动化测试之前的准备工作

接上篇,我们都知道我们已经将所有的用例都用excel管理起来了,这个时候,我们该如何使用python操作excel使我们这篇文章要探究的问题了。 首先,使用python操作excel,可以使用openpyxl这样一个模块 我们实践起来吧。 1,我们可以通过下面的命令在pycharm中安装openyxl模块…

《Qt开发》MDI应用程序

实现多个子窗体的自定义布局&#xff08;自定义子窗体尺寸和位置&#xff09;、平铺布局&#xff08;titleSubWindows&#xff09;和分页模式&#xff08;QMdi::TabbedView&#xff09;。 运行效果图 初始布局&#xff08;自定义布局&#xff09; 平铺布局 多页模式 实现过程…

高校教务系统登录页面JS分析——河北地质大学

高校教务系统密码加密逻辑及JS逆向 本文将介绍高校教务系统的密码加密逻辑以及使用JavaScript进行逆向分析的过程。通过本文&#xff0c;你将了解到密码加密的基本概念、常用加密算法以及如何通过逆向分析来破解密码。 本文仅供交流学习&#xff0c;勿用于非法用途。 一、密码加…

基于Java的校车管理系统

源码跳转链接: 基于java的校车管理系统 基于Java的校车管理系统 摘要一、绪论1.1设计目的与意义1.2需求分析1.3用户、管理员用例图 二、系统总体设计2.1系统模块设计2.2数据库分析与设计2.2.1数据库概念结构设计2.2.2表结构设计2.2.3数据库连接池原理 2.3系统后台设计与分析2.…

业财融合:解密企业管理的黄金钥匙

本文提炼总结自专刊《上市公司如何打好合规与增长的双赢之战》。全书40页&#xff0c;出品方纷享销客市场部。如有需要&#xff0c;请阅读原版电子书&#xff1a;《上市公司如何打好合规与增长的双赢之战》 目 录 一、什么是业财融合&#xff1f; 二、财务部门面临的挑战…

HackTheBox - Medium - Linux - Mentor

Mentor Mentor 是一台中等难度的 Linux 机器&#xff0c;其路径包括在到达 root 之前在四个不同的用户之间切换。使用可暴力破解的社区字符串扫描“SNMP”服务后&#xff0c;会发现用于“API”端点的明文凭据&#xff0c;该端点被证明容易受到盲目远程代码执行的影响&#xff…

芯片有关新闻-China chip imports suffer steepest drop on record after US curbs

Jan 16, 2024 9:01 am 由于长期的经济不确定性和美国的出口管制&#xff0c;中国的芯片进口去年遭遇了有记录以来的最大降幅。 全球最大半导体市场的集成电路进口额下降了15.4%&#xff0c;至3494亿美元&#xff0c;这是自2004年中国海关数据公布以来的最大跌幅&#xff0c;并…

如何部署Wagtail CMS并结合cpolar内网穿透实现远程访问管理界面

文章目录 前言1. 安装并运行Wagtail1.1 创建并激活虚拟环境 2. 安装cpolar内网穿透工具3. 实现Wagtail公网访问4. 固定的Wagtail公网地址 前言 Wagtail是一个用Python编写的开源CMS&#xff0c;建立在Django Web框架上。Wagtail 是一个基于 Django 的开源内容管理系统&#xf…

深度学习笔记(七)——基于Iris/MNIST数据集构建基础的分类网络算法实战

文中程序以Tensorflow-2.6.0为例 部分概念包含笔者个人理解&#xff0c;如有遗漏或错误&#xff0c;欢迎评论或私信指正。 截图和程序部分引用自北京大学机器学习公开课 认识网络的构建结构 在神经网络的构建过程中&#xff0c;都避不开以下几个步骤&#xff1a; 导入网络和依…

32岁Android开发也来学HarmonyOS了,还涨薪了

前言 华为于去年9月正式宣布启动HarmonyOS NEXT计划&#xff0c;即“鸿蒙原生应用”全面启动。这意味着鸿蒙系统将不再兼容安卓应用&#xff0c;而是采用自研的鸿蒙内核、原生智能、方舟引擎等技术&#xff0c;构建全新的鸿蒙应用生态。 而这只是华为发力的一部分&#xff0c…

越南访问国内服务器速度慢,云桥通SD-WAN企业组网解决加速问题

面对不断增加的跨境合作和沟通需求&#xff0c;越南企业在访问国内服务器时往往面临速度缓慢的问题&#xff0c;给越南工厂与国内总部服务器之间的远程访问带来一些不便。然而&#xff0c;如今有一系列解决方案可迅速解决这一问题。 首选&#xff0c;充分利用CDN加速&#xff0…

智慧公厕:利用物联网、云计算和人工智能实现智能化管理与控制

智慧公厕是指利用传感感知、物联网、互联网、大数据、云计算、自动化控制等先进技术&#xff0c;实现对公厕的智能化管理与控制。通过以上高精尖的信息技术手段&#xff0c;可以实时监测厕所内人体活动状态、人体存在状态、空气质量情况、环境变化情况、设施设备运行状态等信息…