R语言系统教程(七):数据的分布(含多种图的绘制)


数据的数字特征刻画了数据的主要特征,而要对数据的总体情况做全面的描述,就要研究数据的分布。

7.1 分布函数

在概率论中,大家已经学到了很多分布,也了解到了分布函数的定义,由于本篇不是概率论教程,因此这里不再赘述各种分布的定义。
R语言中提供了很多调用各种分布的函数,以正态分布为例:
主要有
dnorm(x, mean=0, sd=1, log = FALSE)
pnorm(q, mean=0, sd=1, lower.tail = TRUE, log.p = FALSE)
qnorm(p, mean=0, sd=1, lower.tail = TRUE, log.p = FALSE)
rnorm(n, mean=0, sd=1)
其中x,q是由数值型变量构成的向量,p是概率构成的向量,n是产生随机数的个数,mean是所计算正态分布的期望,默认为0,sd是所计算正态分布的标准差,默认为1,函数dnorm()的返回值是正态分布density函数,函数pnorm()返回的是其分布函数,qnorm()返回其quantile函数,rnorm()用来产生满足正态分布的随机数向量。
log和log.p是逻辑变量,为真时返回对数正态分布,lower.tail是逻辑变量,为真时按通常定义计算,为FALSE时,F按1-F计算。
另外,可以看到函数名是由前缀加分布名组成的,其他分布函数也有类似结果,详情见下图:

在这里插入图片描述
其几个前缀的意义如下:

  • d:概率密度函数 f ( x ) f(x) f(x)
  • p:分布函数 F ( x ) F(x) F(x)
  • q:分位数函数 F − 1 ( x ) F^{-1}(x) F1(x)
  • r:产生随机数

7.2 直方图、经验分布图与QQ图

7.2.1 直方图

R中用hist()函数绘制直方图,格式为
hist(x)

> data = rnorm(50)
> hist(data)

在这里插入图片描述
或者如果需要调整一些参数
hist(x, breaks = “Sturges”, freq = NULL, probability = !freq,
include.lowest = TRUE, right = TRUE,
density = NULL, angle = 45, col = NULL, border = NULL,
main = paste(“Histogram of” , xname),
xlim = range(breaks), ylim = NULL,
xlab = xname, ylab,
axes = TRUE, plot = TRUE, labels = FALSE,
nclass = NULL, …)
其中x是由样本构成的向量;
参数breaks规定直方图的组距,由以下几种形式给出(参考资料中对此部分参数的说明有所偏差,可能是版本更新的原因):

  1. 向量,直接给出各个breakpoints
> hist(data, breaks = seq(-5,5,0.2))

在这里插入图片描述
注意:区间应包含所有数据,不然会报错

  1. 数,给出区间的个数
> hist(data, breaks = 15)

在这里插入图片描述

  1. 字符串,给出产生区间的方法,细节见官方文档

参数freq为逻辑变量;为TRUE时绘制频数直方图,为FALSE绘制频率密度直方图(区域面积之和为1)

> hist(data, freq = TRUE)

在这里插入图片描述

> hist(data, freq = FALSE)

在这里插入图片描述
参数probability也是逻辑变量,含义与freq正相反。
参数col表示直方图中填充的颜色,参数plot是逻辑变量,TRUE表示给出直方图,FALSE表示只给出绘制直方图的各种结果,而不绘图,其他参数见官方文档

7.2.2 核密度估计函数

与直方图配套的是核密度估计函数(原理见非参估计),其目的是用已知样本估计其密度,函数声明如下:
density(x, bw = “nrd0”, adjust = 1,
kernel = c(“gaussian”, “epanechnikov”, “rectangular”,
“triangular”, “biweight”, “cosine”, “optcosine”),
window = kernel, width,
give.Rkern = FALSE,
n = 512, from, to, cut = 3, na.rm = FALSE)
其中x是由样本组成的向量,bw为选择带宽的方法,bw默认得到光滑的曲线。
注意:作者测试时density()不起作用,原因未知,实际使用的是density.default()函数

> w <-
  • 16
    点赞
  • 156
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值