如何在 R 中處理錯誤“Error in shapiro.test(…) : sample size must be between 3 and 5000”?
shapiro.test 在 R 中有一個限制,即它只能應用於最多 5000 個樣本,並且最小樣本量必須為 3。因此,我們有一個替代的假設檢驗稱為 Anderson Darling 正態性檢驗。要執行此檢驗,我們需要載入 nortest 包並使用 ad.test 函式,如下例所示。
考慮以下資料框 -
示例
x<-rnorm(1000000) df1<-data.frame(x) head(df1,20)
輸出
x 1 1.27305105 2 1.79910461 3 -1.05456918 4 0.27247323 5 -1.22709375 6 1.87211271 7 -0.98918543 8 -0.98504275 9 0.55901414 10 1.17920161 11 -0.16612397 12 -0.89614357 13 -0.70229748 14 1.16583130 15 -0.17427556 16 0.05428080 17 1.26193927 18 0.63517470 19 -0.02052002 20 -1.23316924
對 x 執行 shapiro.test -
shapiro.test(df1$x)
Error in shapiro.test(df1$x) : sample size must be between 3 and 5000
載入 nortest 包並對 x 執行 Anderson Darling 檢驗 -
library(nortest) ad.test(df1$x) Anderson-Darling normality test data: df1$x A = 0.21458, p-value = 0.8496
示例
y<-sample(0:9,500000,replace=TRUE) df2<-data.frame(y) head(df2,20)
輸出
y 1 8 2 9 3 7 4 0 5 3 6 4 7 9 8 3 9 1 10 5 11 9 12 4 13 5 14 9 15 5 16 7 17 1 18 0 19 4 20 4
對 y 執行 Anderson Darling 檢驗 -
ad.test(df2$y) Anderson-Darling normality test data: df2$y A = 8634.6, p-value < 2.2e-16
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP