Skip to content

shapiro.test

4 messages · Ernesto Jardim, Rick Bilonick

#
Hi

The shapiro.test function outputs a value of the W statistic, which
should be 1 if the distribution is normal, and a p-value for the test
(as the documentation states).

I'm a bit confused with some results. I'm getting a W=0.9977 and a
p-value=0.1889.

I was expecting that a W of 0.9977 would tell me that the distribution
is normal so p-value should be small ...

What am I missing ?

Thanks

EJ
#
Ernesto Jardim wrote:

            
You have it backwards. The null hypothesis is that the distribution is 
Normal. You reject this null when the p-value is small. If the 
distribution is Normal, the p-value will tend to be large.

 > shapiro.test(rnorm(100))

        Shapiro-Wilk normality test

data:  rnorm(100)
W = 0.9877, p-value = 0.4894


Rick B.
#
Ok, let me put it the other way around.

On another test I have W = 0.9907, p-value = 6.024e-06. The same
question stands, with such huge W should it be expected to be normal ?

EJ
On Mon, 2003-02-10 at 14:47, Richard A. Bilonick wrote:
#
Ernesto Jardim wrote:

            
It depends on how non-Normal the distribution and the size of the 
sample. A t-distribution with df = 30 isn't Normal but it is close to 
being Normal. A small sample size probably won't detect it:

 > shapiro.test(rt(100,30))

        Shapiro-Wilk normality test

data:  rt(100, 30)
W = 0.9927, p-value = 0.8708

But a large enough sample size will:

 > shapiro.test(rt(2000,30))

        Shapiro-Wilk normality test

data:  rt(2000, 30)
W = 0.9968, p-value = 0.0003097

You haven't told us your sample size.

Rick B.