如何使用Shapiro-Wilk检验来检查R数据框列的正态性?


要对向量应用Shapiro-Wilk正态性检验,我们只需在`shapiro.test`函数中指定向量名称即可;但如果要对R数据框列进行同样的操作,则必须以正确的方式指定该列。例如,如果数据框名称为`df`,列名为`x`,则函数将按`shapiro.test(df$x)`的方式运行。

示例

 在线演示

x1<-rnorm(1000,1.5)
df1<-data.frame(x1)
shapiro.test(df1$x1)

输出

   Shapiro-Wilk normality test
data: df1$x1
W = 0.99886, p-value = 0.792

示例

 在线演示

x2<-runif(1000,2,10)
df2<-data.frame(x2)
shapiro.test(df2$x2)

输出

   Shapiro-Wilk normality test
data: df2$x2
W = 0.9581, p-value = 2.562e-16

示例

 在线演示

x3<-rpois(4000,2)
df3<-data.frame(x3)
shapiro.test(df3$x3)

输出

   Shapiro-Wilk normality test
data: df3$x3
W = 0.91894, p-value < 2.2e-16

示例

 在线演示

x4<-rpois(4000,5)
df4<-data.frame(x4)
shapiro.test(df4$x4)

输出

   Shapiro-Wilk normality test
data: df4$x4
W = 0.97092, p-value < 2.2e-16

示例

 在线演示

x5<-sample(1:5,5000,replace=TRUE)
df5<-data.frame(x5)
shapiro.test(df5$x5)

输出

   Shapiro-Wilk normality test
data: df5$x5
W = 0.88902, p-value < 2.2e-16

示例

 在线演示

x6<-sample(1:10,5000,replace=TRUE)
df6<-data.frame(x6)
shapiro.test(df6$x6)

输出

   Shapiro-Wilk normality test
data: df6$x6
W = 0.93373, p-value < 2.2e-16

示例

 在线演示

x7<-sample(1:100,5000,replace=TRUE)
df7<-data.frame(x7)
shapiro.test(df7$x7)

输出

   Shapiro-Wilk normality test
data: df7$x7
W = 0.9556, p-value < 2.2e-16

示例

 在线演示

x8<-sample(2500:3500,5000,replace=TRUE)
df8<-data.frame(x8)
shapiro.test(df8$x8)

输出

   Shapiro-Wilk normality test
data: df8$x8
W = 0.95117, p-value < 2.2e-16

示例

 在线演示

x9<-rbinom(5000,10,0.5)
df9<-data.frame(x9)
hapiro.test(df9$x9)

输出

   Shapiro-Wilk normality test
data: df9$x9
W = 0.96629, p-value < 2.2e-16

示例

 在线演示

x10<-rbinom(5000,1000,0.5)
df10<-data.frame(x10)
shapiro.test(df10$x10)

输出

   Shapiro-Wilk normality test
data: df10$x10
W = 0.9993, p-value = 0.04748

更新于:2020年9月8日

598 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告