As per the anova1 help it expects groups to be arranged in columns, not rows:
"P = anova1(M) for a matrix M treats each column as a separate group,
and determines whether the population means of the columns are equal.
This form of anova1 is appropriate when each group has the same number
of elements (balanced ANOVA)."
So by simply transposing your matrix I get:
load('testdataset.mat')
P = anova1(testdatasetpfc_57_n1')
The problem was not actually related to the NaN values because anova1 automatically ignores them.
If you did want to remove the NaNs you could follow this procedure using the 'groups' input to anova1:
load('testdataset.mat')
groups = repmat(1:8,size(testdatasetpfc_57_n1,2),1)';
P = anova1(testdatasetpfc_57_n1(:),groups(:))
Hope this helps,
M.
Best Answer