Mis datos abreviados son:
y <- c (2,2,1,5,6,7,1,2,1,6,6,7,3,2,4,4,4,4,3,3,9,1,1,9)
En primer lugar, normalizo mis datos:
y_scale <- scale(y)
A continuación, genero un conjunto de datos modelo con una distribución normal basada en la media y el desvío estándar de y_scale:
y_norm <- rnorm(n=24, m=mean(y_scale), sd=sd(y_scale))
Para comprobar si mis datos se ajustan a la distribución normal, hago lo siguiente
ks.test(y_scale,y_norm)
El resultado es el siguiente:
Two-sample Kolmogorov-Smirnov test
data: y_scale and y_norm
D = 0.2083, p-value = 0.6749
alternative hypothesis: two-sided
Warning message:
In ks.test(y_scale, y_norm) : cannot compute correct p-values with ties
Aquí, mi pregunta es:
(1) Mi conjunto de datos reales tiene ~ 700.000 números, he descubierto que no puedo utilizar shapiro.test.
shapiro.test(y_scale)
Error in shapiro.test(y_scale) : sample size must be between 3 and 5000
(2) ¿Es erróneo el valor p calculado anteriormente mediante ks.test? ¿Cómo resolver este problema de los valores p?
Warning message:
In ks.test(y_scale, y_norm) : cannot compute correct p-values with ties
(3) Las razones por las que intenté utilizar ks.test en lugar de otros métodos, es porque quiero comparar con otros conjuntos de datos modelo que tienen otras funciones de distribución. Me parece que puedo simplemente reemplazar y_norm con otro conjunto de datos modelo, y comparar sus valores p o valores D (cuanto más pequeños mejor), para elegir qué función de distribución se ajusta más a mis datos.
(4) ¿Es imprescindible normalizar primero los datos?