1

MATLAB の一連のデータに対して双方向ランダム効果 ANOVA を実行しようとしています。これは私が使用しているコードです:

[pval table stats terms] = anovan(modelfit, {RATEES RATERS},...
 'model', 'interaction', 'random', 2, 'varnames', {'RATEE' 'RATER'})

ただし、これを行うとエラーが発生します。

??? Maximum variable size allowed by the program is exceeded.

Error in ==> termcross at 13
ab = a(:,acols) .* b(:,bcols);

Error in ==> anovan>maketerm at 1470
         tdum = termcross(termdum{k}, tdum);

Error in ==> anovan>makedummyterms at 1122
   [tdum,vars,tn,df0,tconstr] = maketerm(tm,isnested,varinfo,j,sindex,...

Error in ==> anovan at 199
terminfo = makedummyterms(sindex, termlist, varinfo, ...

このエラーの意味はわかりますが、なぜエラーが発生するのかよくわかりません。コードを次のいずれかに変更すると、エラーは発生しませんが、必要なデータが得られません。

[pval table stats terms] = anovan(modelfit, {RATEES RATERS},...
 'random', 2, 'varnames',     {'RATEE' 'RATER'})

[pval table stats terms] = anovan(modelfit, {RATEES RATERS})

「相互作用」モデルを使用しようとすると、うまくいきません。なんで?本当にデータが多すぎますか? 各入力変数 (modelfit、RATEES、RATERS) のサイズはすべて 14879 x 1 です。つまり、14879 の値を持つ 1 列の配列です。

これが本当に多すぎる場合、必要な相互作用効果を得るにはどうすればよいですか?

編集:関連する場合、私は64ビットのMac OS X 10.6.8(Snow Leopard)とMATLAB R2008aを使用しています。

EDIT2:anovanコマンドの「ランダム」要素の使用方法もわかりません。インデックスを入力する必要がありますが、単一の変数をランダム効果として選択することしかできませんか? RATEES と RATERS の両方をランダムにしたいのですが、選択できるのは 1 つだけです。MATLAB がこの種の解析に柔軟性がないのはなぜですか?

4

0 に答える 0