On Wed, 7 Nov 2012, Pindar wrote:

> when working on my multivariate statistic package I found the following bug 
> in function msortby:
> If one wants to sort an already sorted matrix the matrix elements get though 
> rearranged.
> In the 2-factor Anova with interaction this results in wrong calculations.
>
> <hansl>
> nulldata 24
> #two factor orthogonal Anova
> matrix FaktorA={1;1;1;1;1;1;2;2;2;2;2;2;3;3;3;3;3;3;4;4;4;4;4;4}
> matrix FaktorB={1;1;2;2;3;3;1;1;2;2;3;3;1;1;2;2;3;3;1;1;2;2;3;3}
> matrix 
> OutputM={69;77;61;67;65;69;79;83;62;64;72;78;80;78;74;76;80;74;75;67;70;62;70;76}
>
> eval OutputM~FaktorA
> eval msortby(OutputM~FaktorA,2)
> <hansl>

Hmm, I'm not seeing anything wrong with gretl's output on 
this. I take it your point is that, since FaktorA is already 
in sort order, msortby() should be a null operation and the 
two "evals" above should give the same output -- but that in 
fact they don't?

Here they do give the same. To check explicitly:

<hansl>
matrix 
FaktorA={1;1;1;1;1;1;2;2;2;2;2;2;3;3;3;3;3;3;4;4;4;4;4;4}
matrix 
FaktorB={1;1;2;2;3;3;1;1;2;2;3;3;1;1;2;2;3;3;1;1;2;2;3;3}
matrix \
OutputM={69;77;61;67;65;69;79;83;62;64;72;78;80;78;74;76; \
   80;74;75;67;70;62;70;76}
matrix K = OutputM ~ FaktorA
matrix P = msortby(K, 2)
Test = K - P
print Test
</hansl>

Here the Test matrix is all zeros.

Allin Cottrell

Reply via email to