R语言正态性检验

这篇博客介绍了使用R语言进行正态性检验的各种方法,包括ks.test()、shapiro.test()、nortest包中的多种检验以及fBasics包的函数。还提到了正态性检验的分类,如综合统计量、正态分布的拟合优度检验和图示法,并提及了SPSS和SAS中的常见正态检验方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

R语言正态性检验

用R语言做正态分布检验 (2012-02-29 10:59:54)转载▼

摘自:吴喜之:《非参数统计》(第二版),中国统计出版社,2006年10月:P164-165


1、ks.test()
例如零假设为N(15,0.2),则ks.test(x,"pnorm",15,0.2)。如果不是正态分布,还可以选"pexp", "pgamma"等。
2、shapiro.test()
可以进行关于正态分布的Shapiro-Wilk检验。
3、nortest包
lillie.test()可以实行更精确的Kolmogorov-Smirnov检验。
ad.test()进行Anderson-Darling正态性检验。
cvm.test()进行Cramer-von Mises正态性检验。
pearson.test()进行Pearson卡方正态性检验。
sf.test()进行Shapiro-Francia正态性检验。
4、fBasics包
normalTest()进行Kolmogorov-Smirnov正态性检验。
ksnormTest()进行Kolmogorov-Smirnov正态性检验。
shapiroTest()进行Shapiro-Wilk's正态检验。
jarqueberaTest()进行jarque-Bera正态性检验。
dagoTest进行D'Agostino正态性检验。
gofnorm采用13种方法进行检验,并输出结果。

附:网络上的一篇博文:
http://blog.sina.com.cn/s/blog_65efeb0c0100htz7.html
SPSS和SAS常用正态检验方法 
许多计量资料的分析方法要求数据分布是正态或近似正态,因此对原始独立测定数据进行正态性检验是十分必要的。
通过绘制数据的频数分布直方图来定性地判断数据分布正态性。这样的图形判断决不是严格的正态性检验,它所提供的信息只是对正态性检验的重要补充。
正态性检验主要有三类方法:
一、计算综合统计量
如动差法、夏皮罗-威尔克Shapiro-Wilk 法(W 检验

### 使用R语言进行正态性检验 在R语言中,`shapiro.test()` 是一种常用的正态性检验方法。该函数基于Shapiro-Wilk测试,用于检测样本是否来自正态分布的数据集[^1]。 #### 方法一:使用 `shapiro.test()` 以下是通过 `shapiro.test()` 函数执行正态性检验的一个简单示例: ```r # 设置随机种子以便结果可重复 set.seed(42) # 创建一个模拟数据向量 (假定为正态分布) x <- rnorm(100, mean = 5, sd = 2) # 执行 Shapiro-Wilk 正态性检验 result_x <- shapiro.test(x) # 输出检验结果 print(result_x) ``` 运行以上代码后会返回如下形式的结果: ``` Shapiro-Wilk normality test data: x W = 0.98862, p-value = 0.5548 ``` 在此处,由于p值为0.5548(>0.05),因此可以接受原假设,即认为数据来源于正态分布[^3]。 对于另一个非正态分布的例子,我们可以创建偏斜的数据并再次应用此测试: ```r y <- runif(100, min=0, max=1) # 非正态分布的均匀分布数据 result_y <- shapiro.test(y) print(result_y) ``` 可能获得这样的输出: ``` Shapiro-Wilk normality test data: y W = 0.7, p-value = 7e-13 ``` 这里因为p值非常小 (<0.05),所以拒绝原假设,说明这些数据不遵循正态分布[^2]。 #### 方法二:针对DataFrame中的分组数据使用`tapply()` 当我们希望对数据框内的不同类别分别做正态性检验时,可以利用`tapply()`配合`shapiro.test()`完成操作。例如,在`birthwt` 数据集中按种族分类检查婴儿体重(`bwt`) 是否满足正态分布条件: ```r library(MASS) # 加载MASS包以访问birthwt数据集 tapply(birthwt$bwt, birthwt$race, shapiro.test) ``` 这将分别为每种种族下的婴儿出生重量提供独立的Shapiro-Wilk 测试报告[^4]。 除了上述提到的方式外,还有其他几种可用于评估数据正常性的技术,比如绘制QQ图或者采用Kolmogorov-Smirnov Test (`ks.test()`) 来比较经验累积分布函数(ECDFs) 和理论标准正态CDF之间的差异程度等替代方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值