前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【数据分析 R语言实战】学习笔记 第五章 数据的描述性分析(上)

【数据分析 R语言实战】学习笔记 第五章 数据的描述性分析(上)

作者头像
统计学家
发布2019-04-10 16:40:30
7940
发布2019-04-10 16:40:30
举报
文章被收录于专栏:机器学习与统计学

5.1R内置的分布

分布是描述一个样本数据最核心、最重要的方式。R内嵌了很多常用的统计分布,提供了四类函数:概率密度函数(density),累积分布函数(probability)、分位数(quantile)和伪随机数(random)。在R中分别用d,p,q,r表示这4个项目,后面接分布的英文名称或缩写。

5.2集中趋势的分析

5.2.1集中趋势的测度

描述统计分布集中趋势的指标主要是平均数、中位数、众数,也称为“平均指标”。这些指标的主要作用包括:

反映总体各单位变量分布的集中趋势和一般水平;

便于比较同类现象在不同单位之间的水平;

便于比较同类现象在不同时期的发展变化趋势或规律;

用于分析现象之问的依存关系。

5.2.2 R语言实现

函数summary()可以计算出一组数据的五数和均值。

>summary(cars$speed) Min.1stQu.MedianMean3rdQu.Max. 4.012.015.015.419.025.0

5.3 离散趋势的分析

5.3.1 离散趋势的测度

数据分布的离散程度主要靠极差、四分差、平均差、方差、标准差等统计指标来度量。在实际分析中,离散程度分析主要有以下作用:

衡量平均指标的代表性;

反映社会经济活动的均衡性;

研究总体标志值分布偏离正态的情况;

抽样推断等统计分析的一个基本指标。

5.3.2 R语言实现

可以通过函数range()计算极差。给出最小值和最大值两个点,再相减得到:

代码语言:javascript
复制
>m=range(cars$speed)
代码语言:javascript
复制
>m[2]-m[1]
代码语言:javascript
复制
[1]21

四分位差同样需要手动计算,比较便捷的方法是直接使用函数fivenum()

代码语言:javascript
复制
>q=fivenum(cars$speed)
代码语言:javascript
复制
>q[4]-q[2]
代码语言:javascript
复制
[1]7

R中的方差函数和标准差函数分别是var()和sd()R还有一个比较特殊的函数,即离差mad(),它用于计算中位数绝对偏差,具有渐近正态的一致性。

5.4数据的分布分析

5.4.1分布情况的测度

(1)偏度

(2)峰度

5.4.2R语言实现

在程序包timeDate中(或直接加载fBasics程序包),有直接计算偏度和峰度系数的函数,为skewness()和kurtosis()

代码语言:javascript
复制
>skewness(cars$speed)
代码语言:javascript
复制
[1]-0.1105533
代码语言:javascript
复制
attr(,"method")
代码语言:javascript
复制
[1]"moment"
代码语言:javascript
复制
>kurtosis(cars$speed)
代码语言:javascript
复制
[1]-0.6730924
代码语言:javascript
复制
attr(,"method")
代码语言:javascript
复制
[1]"excess"

5.5图形分析及R实现

5.5.1直方图和密度函数图

代码语言:javascript
复制
>hist(cars$speed,breaks=50,prob=T)#参数breaks设1直方图的组距,prob=T规定绘制密度直方图
代码语言:javascript
复制
>lines(density(cars$speed),col='blue')#用核密度估计函数density(),绘制密度曲线图
代码语言:javascript
复制

5.5.2 QQ图

QQ图用于直观验证一组数据是否来自某个分布,或者验证某两组数据是否来自同一族的分布。在教学和软件中常用QQ散点图来检验数据是否来自于正态分布。QQ图是正态分位数-分位数图,横轴是理论值,纵轴是样本值,若样本数据近似服从正态分布,那么QQ图上的散点应均匀地分布在直线y=xσ+μ附近,这条直线的斜率是正态分布的

标准差J,截距是均值刀。

代码语言:javascript
复制
>qqnorm(cars$speed)
代码语言:javascript
复制
>qqline(cars$speed)

5.5.3茎叶图

R中用函数stem()绘制茎叶图

stem(x,scale=1,width=80,atom=1e-08)

其中,x是数据向量,scale控制茎叶图的长度,width控制绘图的宽度,atom是容差。

代码语言:javascript
复制
> set.seed(111)
代码语言:javascript
复制
> s=sample(cars$speed,25)
代码语言:javascript
复制
> stem(s)
代码语言:javascript
复制
  The decimal point is 1 digit(s) to the right of the |
代码语言:javascript
复制
  0 | 44
代码语言:javascript
复制
  0 | 779
代码语言:javascript
复制
  1 | 011233344
代码语言:javascript
复制
  1 | 5557889
代码语言:javascript
复制
  2 | 0344

5.5.4箱线图

代码语言:javascript
复制
> boxplot(cars$speed)

5.5.5经验分布图

在R中函数ecdf()给出样本的经验分布,通过plot()绘制

ecdf(x) plot (x,…,ylab="Fn (x)”,verticals=FALSE,col.01line="gray70”,peh=19)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2015-05-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器学习与统计学 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档