前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R检验数据是否符合正态分布

R检验数据是否符合正态分布

作者头像
Y大宽
发布2019-05-09 15:32:14
9.6K0
发布2019-05-09 15:32:14
举报
文章被收录于专栏:Y大宽Y大宽

正态分布又叫高斯分布,很多统计学的理论都是假设所用的数据符合正态分布。所以在研究数据时,首先要看数据是否符合正态分布。

首先,R中很多安装包中有自带的数据集,所以在使用某个数据前先看它是在哪个包中。具体可以参考R各个包里面的数据集列表. 这次主要用MASS包中的crabs数据

1 直方图检验crabs对象是否正态分布

代码语言:javascript
复制
library(lattice)
library(MASS)
histogram(crabs$CW)
histogram(~CW|sex, data = crabs,col='lightblue')

解释: |是统计学符号,表示“基于.....的条件”,这里按螃蟹的性别进行区分处理。

2这条 QQ图进行检测

qqnorm()可以绘制QQ图。通过绘制的图是否呈现一直线判断是否符合正态分布。另外还有一个qqline()函数,在QQ图中绘制一条直线,QQ图中的点越接近这条直线,表示数据越接近正态分布。

代码语言:javascript
复制
qqnorm(crabs$CW, main ="QQ for Crabs")
qqline(crabs$CW)

3 shapiro.test()函数

上述判断方法相对比较主观,shapiro.test()相对比较客观。只需将检验的数据当作shapiro。test()的函数即可。

代码语言:javascript
复制
nortest1<-shapiro.test(crabs$CW)
nortest1

显示为

代码语言:javascript
复制
> nortest1

    Shapiro-Wilk normality test

data:  crabs$CW
W = 0.99106, p-value = 0.2542

p-value反应服从正态分布的概率,值越小越小的概率符合,通常0.05做标准,大于0.05则表示符合正态分布(此处为0.2542),故符合正态分布

接下来分别检验公螃蟹和母螃蟹是否符合正态分布

代码语言:javascript
复制
nortest2 <- with(crabs, tapply(CW, sex,shapiro.test))
nortest2
#结果如下
> nortest2
$F

    Shapiro-Wilk normality test

data:  X[[i]]
W = 0.98823, p-value = 0.5256


$M

    Shapiro-Wilk normality test

data:  X[[i]]
W = 0.98327, p-value = 0.2368

可见都符合正态分布。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.04.24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 直方图检验crabs对象是否正态分布
  • 2这条 QQ图进行检测
  • 3 shapiro.test()函数
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档