genero datos normales
x <- rnorm(4900, mean= 10, sd=1)
dim(x)<-c(70,70)
genero datos no normales
y <- rweibull(4900, shape = 100, scale =1)
dim(y)<-c(70,70)
Hago los gráficos
Ahora testeo para normalidad con Shapiro-Wilk
shapiro.test(x); shapiro.test(y)
##
## Shapiro-Wilk normality test
##
## data: x
## W = 0.99966, p-value = 0.6166
##
## Shapiro-Wilk normality test
##
## data: y
## W = 0.95315, p-value < 2.2e-16
el SW es simple con datos <5000. Para más datos utilizar Anderson-Darlinng
la instalo directamente desde el sitio web install.packages(“https://cran.r-project.org/src/contrib/nortest_1.0-4.tar.gz”, repos=NULL) library(nortest)
install.packages("https://cran.r-project.org/src/contrib/nortest_1.0-4.tar.gz", repos=NULL)
## Installing package into '/home/sergiouribe/R/x86_64-pc-linux-gnu-library/3.2'
## (as 'lib' is unspecified)
library(nortest)
ad.test(x)
##
## Anderson-Darling normality test
##
## data: x
## A = 0.47852, p-value = 0.2354
ad.test(y)
##
## Anderson-Darling normality test
##
## data: y
## A = 50.126, p-value < 2.2e-16
Ahora grafico para ver cuantos datos están dentro de lo normal y cuantos fuera
defino una fx llamada “swt” para correr el test SW con sus valores de p
swtx <- function(x){ test<-shapiro.test(x); return(test$p.value) }
guardo los valores de p para cada valor de x
swpvaluesx <- apply(x, MARGIN = 2, swtx)
lo mismo para y
swty <- function(y){ test<-shapiro.test(y); return(test$p.value) }
guardo los valores de p para cada valor de y
swpvaluesy <- apply(y, MARGIN = 2, swty)
Y grafico para SW
Ahora grafico para Anderson-Darlin
Y grafico para SW
comparos lo gráficos para SW y AD