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 がこの種の解析に柔軟性がないのはなぜですか?