# Three-way ANOVA with non-normal residuals and heteroscedasticity

I have an experiment with three factors, say two machine vendors (factor: vendor) and each machine has two 'knobs' (factors: A, B) with each three levels. The measured output is continuous, and is measured independently 8 times for each combination of factors. The design is thus quite balanced, and there are 8*2*3*3=144 measurements.

The main questions is: Do both machines differ significantly in their output?

A three-way ANOVA would possibly work, but after fitting it, i have some non-normality in the residuals, tested with Shapiro-Wilk (with p<0.001). Also the groups are heteroscedastic, as the corresponding Levene test shows (also p<0.001).

I am confused what statistical model to use. Initially i thought a linear mixed model might be applied, but then both factors A,B only have 3 levels and probably most people would say that they should not be taken as random factors. I'd like to have a non-parametric ANOVA test, but which is the correct one? Personally i dislike the idea of transforming the outcome. Also i wonder if i should include all interactions or not.

Can anyone point me to the right test? Thanks!

Edit: As I use R, it would be great if I also could get a hint to the library to use.

Edit2: Here are some plots.

• Can you post figures showing the non-normality and heteroscedasticity? Those may help identify the best course of action. – mkt Dec 8 '17 at 21:23
• @mkt I've added the plots, if you need other ones, just say so. I forgot to add: I also removed a few outliers by using Cook's method, rought 8 of them. – complexM Dec 9 '17 at 0:05
• I wonder if the nlme::gls function will at least take care of the variance problem: fit = gls (o ~ vendor*A*B, data = data, weights=varIdent(form=~1|vendor*A*B)) I could then argue that the deviation from normality is not very large and the design is balanced (up to the removal of outliers). Is this a possibility? – complexM Dec 10 '17 at 0:06
• In lack of other options i used now nlme::gls with using the weights to model the variance among the groups by means, which emmeans for posthoc tests, see also [link]stats.stackexchange.com/questions/97098/… – complexM Dec 18 '17 at 22:14