1

我正在尝试对 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 对这种类型的分析如此不灵活?

4

0 回答 0