我正在尝试对 MATLAB 中的一组数据运行 2 路随机效应方差分析。这是我正在使用的代码:
[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。也就是说,1 列数组有 14879 个值。
如果这真的太多了,我该如何获得我需要的交互效果?
编辑:如果相关,我使用的是 64 位 Mac OS X 10.6.8 (Snow Leopard) 和 MATLAB R2008a。
EDIT2:我也不明白如何使用 anovan 命令的“随机”元素。我必须输入一个索引,但它只能让我选择一个变量作为随机效应?我希望 RATEES 和 RATERS 都是随机的,但它只能让我选择一个!为什么 MATLAB 对这种类型的分析如此不灵活?