I'm trying to check for normality using Shapiro–Wilk normality test. I have a two-way ANOVA (2x3) and would like to run this test on each of the 6 groups. Which function should I use to be able to run it per group? Can I use: shapiro.test or maybe tapply(y, x, shapiro.test)?

  • 2
    $\begingroup$ The advice on here tends to be that such normality testing is essentially useless. This is worth reading: stats.stackexchange.com/questions/2492/…. $\endgroup$
    – Dave
    May 14, 2021 at 22:52
  • 2
    $\begingroup$ If you're going to check for normality (by formal test or by looking plots) you should look at 'residuals' from the model not look at data for each factor separately. // The link seems to deal mainly with problems checking for normality in very large samples. $\endgroup$
    – BruceET
    May 14, 2021 at 23:41
  • 1
    $\begingroup$ There is a statistical question here, so I'm voting to keep this thread open. You need a diagnostic rather than a formal test. Consider a graphical diagnostic, such as a collection of probability plots of the group residuals. $\endgroup$
    – whuber
    May 15, 2021 at 12:56


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.