📜  r test normality - R 编程语言(1)

📅  最后修改于: 2023-12-03 15:04:45.233000             🧑  作者: Mango

R 编程语言中如何测试正态性

在统计学中,通常需要先检验数据是否服从正态分布。在 R 编程语言中,可以使用多种函数来测试正态性。

Shapiro-Wilk 检验

Shapiro-Wilk 检验是一种常见的用于检验数据是否服从正态分布的方法。在 R 中,可以使用 shapiro.test() 函数进行检验。

# 生成一组正态分布的数据
set.seed(123)
x <- rnorm(100)

# 进行 Shapiro-Wilk 检验
shapiro.test(x)

输出结果如下:

Shapiro-Wilk normality test

data:  x
W = 0.98523, p-value = 0.6568

其中,W 值越接近 1,p 值越大,则说明数据越接近正态分布。在上述例子中,p 值为 0.6568,即数据符合正态分布的概率较高。

Anderson-Darling 检验

Anderson-Darling 检验也是一种常见的用于检验数据是否服从正态分布的方法。在 R 中,可以使用 ad.test() 函数进行检验。

# 生成一组正态分布的数据
set.seed(123)
x <- rnorm(100)

# 进行 Anderson-Darling 检验
ad.test(x)

输出结果如下:

Anderson-Darling normality test

data:  x
A = 0.34353, p-value = 0.5838

其中,A 值越小,p 值越大,则说明数据越接近正态分布。在上述例子中,p 值为 0.5838,即数据符合正态分布的概率较高。

QQ 图

QQ 图可以用来检验数据是否符合正态分布。在 R 中,可以使用 qqnorm() 函数和 qqline() 函数来绘制 QQ 图。

# 生成一组正态分布的数据
set.seed(123)
x <- rnorm(100)

# 绘制 QQ 图
qqnorm(x)
qqline(x)

绘制出的 QQ 图如下:

QQ 图

在正态分布的情况下,QQ 图的点应当近似地落在一条直线上。在上述例子中,可以看出数据点基本上位于直线附近,说明数据符合正态分布。