[R] Non-parametric test to multi factorial ANOVA

#1
Hi,

I've spent hours searching online (by "non parametric factorial ANOVA"), reading in books (Zar's "Biostatistical analysis") and manuals (R), but I can't find any clear solution, so I'll bite the bullet and I whine to you.

First, sorry for my English and my lack of Statistical knowledge.

Data:


http://imgur.com/23toaot

View attachment 5110

Dependent variable: Ci
Independent variables (nominal): Sex, Age or Mature and Location.

Goal:

Find if the dependent variable follows/is affected significatively by any independent variable of interactions of the latter. I assumed I needed a multi-factorial ANOVA.

Problem:

Dependent variable doesn't follow a normal distribution (neither its residuals after fitting it to an ANOVA).

I tried using Friedman, but I'm not sure if it's only for the two-ways ANOVA. In any case, I believe I can't analyze the possible interactions, so I'm not sure if it would be right choice.

Questions:

Any non-parametric alternative to multi-factorial ANOVA?

If I'd need to transform the data, what transformation should I apply?

How can I deal with uncompleted design where I don't have data for every block?


Thanks, I'd really appreciate your help.

Note: I'm using R.
 

bugman

Super Moderator
#2
Why do you think it needs to be non-parametric? Have you done an initial ANOVA perhaps and gone through model validation techniques?
 
#3
I did an ANOVA:

Code:
saccharo <- read.csv ("saccharo.csv.txt")
saccharo.aov <- (aov(glm(Ci ~ Sex*Age*Mature*Location, data=saccharo)))
shapiro.test (saccharo.aov$residuals)
Shapiro-Wilk normality test

data: saccharo.aov$residuals
W = 0.5304, p-value = 6.06e-07

Maybe I'm wrong, but it indicates the residuals are not normally distributed, right?

Any tip in model validation techniques?

Thanks!
 
#4
Well, I'm not sure if it's right or not, but I've log-transformed the dependent variable:

Code:
saccharo$Ci <- log (saccharo$Ci)
Remove the Inf:

Code:
NA <- saccharo [16,11]
and run an ANOVA:

Code:
saccharo.aov <- aov (glm (Ci.log ~ Sex * Location * Age, data= saccharo)
None of the independent variables or interactions are significantly affecting the dependent variable, but the residuals are normally distributed:

Code:
shapiro.test (saccharo.aov$residuals)
Any tip?