load("./crimtab.RData")
# str(crimtab.long.df)
Quetelet의 가슴둘레 자료에서 살핀 바와 같이 이 자료를 그대로 ad.test 등에 적용하면 매우 작은 p-value 가 예상됨.
# install.packages("nortest", repos = "http://cran.rstudio.com")
library(nortest)
# ad.test(crimtab.long.df[, 1])
# ad.test(crimtab.long.df[, 2])
# pander(sapply(crimtab.long.df, ad.test))
sapply(crimtab.long.df, ad.test)
## finger height
## statistic 4.709381 18.83677
## p.value 1.15289e-11 3.7e-24
## method "Anderson-Darling normality test" "Anderson-Darling normality test"
## data.name "X[[i]]" "X[[i]]"
height
의 경우 인치 단위로 측정한 자료를 센티 단위로 변환한 것임. 이 점에 유의하여 원 자료의 모습에 가깝게 noise 를 넣기 위하여 생성
set.seed(240602)
r.noise <- runif(3000) - 0.5
hist(r.noise, prob = TRUE, xlim = c(-0.5, 0.5), ylim = c(0, 1.5))
noise를 넣어 test 수행
crimtab.long.df.noise <- crimtab.long.df
crimtab.long.df.noise[, 1] <- crimtab.long.df[, 1] + r.noise/10
crimtab.long.df.noise[, 2] <- crimtab.long.df[, 2] + r.noise * 2.54
kable(sapply(crimtab.long.df.noise, ad.test))
finger | height | |
---|---|---|
statistic | 0.608987 | 0.4987948 |
p.value | 0.113384 | 0.2099916 |
method | Anderson-Darling normality test | Anderson-Darling normality test |
data.name | X[[i]] | X[[i]] |
kable(sapply(crimtab.long.df.noise, cvm.test))
finger | height | |
---|---|---|
statistic | 0.08907073 | 0.07273717 |
p.value | 0.1581194 | 0.2575192 |
method | Cramer-von Mises normality test | Cramer-von Mises normality test |
data.name | X[[i]] | X[[i]] |
kable(sapply(crimtab.long.df.noise, lillie.test))
finger | height | |
---|---|---|
statistic | 0.01431221 | 0.01439436 |
p.value | 0.1434575 | 0.1382278 |
method | Lilliefors (Kolmogorov-Smirnov) normality test | Lilliefors (Kolmogorov-Smirnov) normality test |
data.name | X[[i]] | X[[i]] |
# ad.test(crimtab.long.df[, 2] + r.noise * 2.54)
# cvm.test(crimtab.long.df[, 2] + r.noise * 2.54)
# lillie.test(crimtab.long[,2]+r.noise*2.54)
# ad.test(crimtab.long[, 1] + r.noise/10)
# cvm.test(crimtab.long[, 1] + r.noise/10)
# lillie.test(crimtab.long[, 1] + r.noise/10)
save.image("./crimtab_test.RData")